FHEM Forum

FHEM => Frontends => FLOORPLAN => Thema gestartet von: ofno am 22 Oktober 2017, 19:55:00

Titel: Xiaomi Temperatur Sensor auf floorplan Darstellung anpassen
Beitrag von: ofno am 22 Oktober 2017, 19:55:00
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
Titel: Antw:Xiaomi Temperatur Sensor auf floorplan Darstellung anpassen
Beitrag von: MiKn am 22 Oktober 2017, 21:46:20
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
Titel: Antw:Xiaomi Temperatur Sensor auf floorplan Darstellung anpassen
Beitrag von: ofno am 23 Oktober 2017, 21:03:52
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
Titel: Antw:Xiaomi Temperatur Sensor auf floorplan Darstellung anpassen
Beitrag von: ofno am 23 Oktober 2017, 21:28:26
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.