Hallo
ich habe meine Temperatur Sensoren auf dem Floorplan, mit dem Style 4 (S300TH specific) dadurch werden die Messwerte nicht in einzelne class Elemente gepackt, sondern alle unter Messwerte unter col2 dargestellt.
MODEL sensor_ht
<tr class="devicestate fp_Ansicht" id="XMI_158d00012xz">
<td><div id="XMI_158d00012xz" title="22.18 °C, 61.01 %" class="col2">22.18 °C, 61.01 %</div>
</td></tr>
bzw.
MODEL weather.v1
<tr class="devicestate fp_Ansicht" id="XMI_158d00019xz">
<td><div id="XMI_158d00019xz" title="10.70 °C, 81.90 %, 100.341 kPa" class="col2">10.70 °C, 81.90 %, 100.341 kPa</div>
</td></tr>
Die beispielhaften style Elemente
.fp_tempvalue {color:red; font-size:20px; }
.fp_humvalue {color:blue; font-size:20px; }
sind somit nicht möglich.
Wie kann man das Erzeugen des HTML Codes anpassen, dass es zu dem Sensor passt.
Kann man eine eigene Style Nr definieren und dort den HTML Code entsprechend ausgeben.
Danke!
Gruß ofno
Hi ofno,
vielleicht hilft es. Ich mach das bei mir über readingGroups:
defmod AOG_WZ readingsGroup HM_31CF1A_Weather:,<Temperatur>,temperature,<Luftfeuchte>,humidity
attr AOG_WZ fp_WG.FP.Heating 273,299,1,<b>Thermostat</b></br><small>Wohnzimmer</small>,
attr AOG_WZ noheading 1
attr AOG_WZ nolinks 1
attr AOG_WZ nonames 1
attr AOG_WZ room Floorplan
attr AOG_WZ style style="font-size:30px;;font-weight:bold;;color:white;;text-align:left;;width: 770px;; height: 65px;;"
attr AOG_WZ valueFormat {temperature => "%.1f°C", humidity =>"%.f%" }
attr AOG_WZ valueIcon {'humidity'=>'humidity@6FD9FB','temperature'=>'temp_control@6FD9FB'}
attr AOG_WZ valueStyle { if($READING eq "temperature" && $VALUE > 22.5) { 'style="color:red"'}elsif($READING eq "temperature" && $VALUE > 21.8) { 'style="color:orange"'}elsif($READING eq "temperature" && $VALUE < 5) { 'style="color:blue"'}elsif($READING eq "temperature" && $VALUE < 20) { 'style="color:orange"'}elsif($DEVICE eq "Wohnzimmer" && $READING eq "temperature" && $VALUE < 20) { 'style="color:blue"' }elsif($READING eq "humidity" && $VALUE > 75) { 'style="color:red"'}elsif($READING eq "humidity" && $VALUE > 61) { 'style="color:orange"'}else{'style="color:green"'} }
attr AOG_WZ valueSuffix {"temperature"=>" ".ReadingsVal($DEVICE,$READING,0)."°C", "humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." %"}
und über css File:
table#table-AOG_WZ { font-size:32px; font-weight:bold; border:3px solid #ffffff; width:810px; height:240px; text-align: left; background: linear-gradient(225deg, rgb(8, 7, 9), rgba(24, 139, 212, 0.73)); box-shadow:8px 8px 5px #109;}
table#table-AOG_WZ svg { height:45px; width:45px; vertical-align:middle; margin:2px 0; }
Grüße, Michael
danke MiKn, ich habe aber einen Plan im Hintergrund und möchte darauf die Werte anzeigen.
Ich habe deshalb mal die 95_FLOORPLAN.pm in Zeile 609 angepasst und die 2te Bedingung entfernt.
if ($style == 4 && $txt =~ /T: ([\-0-9\.]+)[ ]+H: ([\-0-9\.]+).*/) { # S300TH-specific
Es werden zwar ab und zu Werte angezeigt, aber nicht dauerhaft, die class stimmt jetzt.
Ich bin noch nicht dahinter gekommen warum dies so ist bzw. wie die Werte über haupt angezeigt werden.
Gruß ofno
nachdem ich die Seite etwas stehen habe lassen werden scheinbar die Werte immer dann gefüllt, wenn aktuelle Werte übermittelt werden, über die fhemweb.js
Gibt es die Möglichkeit, dass nach dem Laden der Seite direkt ein Aufruf gemacht wird, ein "get Gateway UpdateAll" würde alle Werte direkt füllen.