FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dadoc am 18 August 2014, 10:18:25

Titel: KS300 readings für Floorplan, Dashboard usw. formatieren
Beitrag von: dadoc am 18 August 2014, 10:18:25
Guten Tag zusammen,
ich stehe mal wieder vor einer grundsätzlichen, aber vermutlich einfach lösbaren Frage: Was ist der richtige/beste Weg, um die Werte des KS300-Wettersensors auf dem Floorplan und auch sonst zu formatieren?
Im Floorplan habe ich ja entweder die Ausgabe
T: 17.0 H: 61 W: 3.8 R: 244.5 IR: no Wi: 1
oder, wenn man Darstellungsoption 4 missbraucht, eine schön formatierte, die aber nur Temp und Hum anzeigt.

Mein Versuch, das in 95_FLOORPLAN.pm so (fp_windvalue...) zu erweitern, schlug fehl
$txt = "<span class='fp_tempvalue' display=inline><span informId=$d-temperature>".$1."</span>&deg;C</span><BR><span class='fp_humvalue'><span informId=$d-humidity>".$2."</span>%</span><BR><span class='fp_windvalue'><span informId=$d-wind>".$3."</span>kmh</span>";

In 13_KS300.pm kann ich natürlich die folgende Zeile modifizieren und mit HTML-Tags versehen, aber das geht ja dann auch so ins Log, so dass ich vermute, dieser brachiale Weg ist nicht ideal.
# For logging/summary
    my $val = "T: $v[4]  H: $v[3]  <BR>WW: $v[2]  R: $v[1]  IR: $v[5]  Wi: $v[9]";

Könnt Ihr mir aufs Pferd helfen?
Danke & Grüße
Martin
Titel: Antw:KS300 readings für Floorplan, Dashboard usw. formatieren
Beitrag von: clumsy am 23 Februar 2017, 20:16:01
Hallo

Hatte eben das selbe problem. 2 kleine Änderungen an 95_FLOORPLAN.pm und im entsprechenden stylesheet haben bei mir das gewünschte Resultat ergeben (sicher noch nicht komplett).

95_FLOORPLAN.pm (ab Zeile 607) die if-Bedingung ersetzen durch:

            if ($style == 4 ) {
                if ($txt =~ /T: ([\-0-9\.]+)[ ]+H: ([\-0-9\.]+)[ ]+W: ([\-0-9\.]+).*/) {               # KS300-specific
                  $txt = "<span class='fp_tempvalue' display=inline><span informId=$d-temperature>".$1."</span>&deg;C</span><BR><span class='fp_humvalue'><span informId=$d-humidity>".$2."</span>%</span><BR><span class='fp_windvalue'><span informId=$d-wind>".$3."</span>m/sec</span>";
                } elsif ($txt =~ /T: ([\-0-9\.]+)[ ]+H: ([\-0-9\.]+).*/) {               # S300TH-specific
                  $txt = "<span class='fp_tempvalue' display=inline><span informId=$d-temperature>".$1."</span>&deg;C</span><BR><span class='fp_humvalue'><span informId=$d-humidity>".$2."</span>%</span>";
                } elsif ($txt =~ /T: ([\-0-9\.]+).*/) {               # S300T-specific
                  $txt = "<span class='fp_tempvalue' display=inline><span informId=$d-temperature>".$1."</span>&deg;C</span>";
                }
            }


im entsprechenden CSS dann noch die fp_windvalue dazufügen:

.fp_windvalue            {color:yellow; font-size:20px; }

(z.b. nach fp_humvalue)

So funktioneirt das ganze auch für S300T und KS300 Sensoren...

Evtl. liest ja der Maintainer mit und kann den Patch einchecken?