Hi,
habe mir die User-Demos von Phil__ geholt und lustig drin rumeditiert.
leider wird von meinen Temperatursensoren einer (der erste) einwandfrei angezeigt, alle weiteren nicht, egal was ich tue.
Quellcode funktionierender Sensor:
<li data-row="4" data-col="2" data-sizex="1" data-sizey="2">
<header>BAD</header>
<div data-type="thermostat"
data-device="D_TsollBad"
data-valve=""
data-get=""
data-set=""
data-step="0.5"
data-min="21"
data-max="28"
class="cell">
</div>
<div data-type="label"
data-device="RE_TEMP_Bad"
data-get="temperature"
data-limits='[-73,19,23]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit="%B0C%0A"
class="cell inline big">
</div>
</li>
Quellcode *nicht*funktionierender Sensor:
<li data-row="2" data-col="4" data-sizex="1" data-sizey="2">
<header>SCHLAFZIMMER</header>
<div data-type="thermostat"
data-device="D_TsollSchlafzimmer"
data-valve=""
data-get=""
data-set=""
data-step="0.5"
data-min="21"
data-max="28"
class="cell">
</div>
<div data-type="label"
data-device="RE_TEMP_Schlafzimmer"
data-get="temperature"
data-limits='[-73,19,23]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit="%B0C%0A"
class="cell inline big">
</div>
</li>
RE_TEMP_Schlafzimmer und RE_TEMP_Bad sind zwei dummys, die über FHEM2FHEM von einem Raspi mit Temperaturwerten von OneWire-Sensoren gefüllt werden. Ändere ich im zweiten Beispiel RE_TEMP_Schlafzimmer auf RE_TEMP_Bad, funktioniert es. Sofort.
Also habe ich in der inc_aussentemperatur weitergemacht: besitze einen S300TH, liefert temperature, humidity und taupunkt (UserReading).
<header>Aussentemperatur</header>
<table width="100%">
<tr><td>
<div data-type="label"
data-device="S300TH"
data-get="temperature"
class="sell big inline"></div>
<!-- <div data-type="label"
data-device="S300TH"
data-get="temperature"
data-limits='[-73,0,30]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit="%B0C%0A"
class="cell big inline"></div>-->
</td>
Internals:
CODE 1
CUL_0_MSGCNT 7
CUL_0_RAWMSG K01369166
CUL_0_RSSI -68.5
CUL_0_TIME 2016-10-14 20:43:20
DEF 1
IODev CUL_0
LASTInputDev CUL_0
MSGCNT 7
NAME S300TH
NR 313
STATE T: 13.6 H: 66.9 TP: 7.6
TYPE CUL_WS
corr1 0
corr2 0
corr3 0
corr4 0
Helper:
Dblog:
Humidity:
Logdb:
TIME 1476470600.48643
VALUE 66.9
Taupunkt:
Logdb:
TIME 1476470600.48643
VALUE 7.57353709893392
Temperature:
Logdb:
TIME 1476470600.48643
VALUE 13.6
Readings:
2016-10-14 20:43:20 DEVFAMILY WS300
2016-10-14 20:43:20 DEVTYPE S300TH
2016-06-28 22:13:40 avgTemp 20.4
2016-10-14 20:43:20 humidity 66.9
2016-10-14 20:43:20 state T: 13.6 H: 66.9
2016-10-14 20:43:20 taupunkt 7.57353709893392
2016-10-14 20:43:20 temperature 13.6
Attributes:
DbLogInclude avgTemp,temperature,humidity,taupunkt
group Thermometer
room HMS,Heizung
stateFormat {sprintf("T: %.1f H: %.1f TP: %.1f ", ReadingsVal("S300TH","temperature",0), ReadingsVal("S300TH","humidity",0), ReadingsVal("S300TH","taupunkt",0))}
userReadings taupunkt { my $dp; my $temperature = ReadingsVal($name,"temperature",0); my $humidity = ReadingsVal($name,"humidity",0); my $A = 17.2694; my $B = ($temperature > 0) ? 237.3 : 265.5; my $es = 610.78 * exp( $A * $temperature / ($temperature + $B) ); my $e = $humidity/ 100 * $es; if ($e == 0) { Log 1, "Error: dewpoint() e==0: temp=$temperature, hum=$humidity"; return 0; } my $e1 = $e / 610.78; my $f = log( $e1 ) / $A; my $f1 = 1 - $f; if ($f1 == 0) { Log 1, "Error: dewpoint() (1-f)==0: temp=$temperature, hum=$humidity"; return 0; } $dp = $B * $f / $f1 ;}
Internals:
NAME RE_TEMP_Bad
NR 698
STATE T: 22.25 °C
TYPE dummy
Readings:
2016-10-14 20:40:21 state T: 22.25 °C
2016-10-14 20:40:21 temperature 22.25
Attributes:
DbLogInclude Bad
group ERR_Bad,Thermometer
room Heizung_ERR,OW_Remote
Internals:
NAME RE_TEMP_Schlafzimmer
NR 515
STATE T: 20 °C
TYPE dummy
Helper:
Dblog:
Temperature:
Logdb:
TIME 1476470428.37436
VALUE 20
Readings:
2016-10-14 20:40:28 state T: 20 °C
2016-10-14 20:40:28 temperature 20
Attributes:
DbLogInclude temperature
group ERR_Schlafzimmer,Thermometer
room Heizung_ERR,OW_Remote
leider bekomme ich nicht mal die Temperatur im Browser angezeigt...
edit, bevor ich den Beitrag abgesendet habe: kann das an dem Helper: liegen?
Keine Ahnung, wo der herkommt, was der da macht und wieso der bei Bad nicht drin ist...
Tipps von euch? Weitere Infos, die ich dazu liefern kann/muss?
Danke vielmals
Stephan
Okay, ist schon spät ;D
erster Fehler: DbLogInclude bei Bad muss natürlich "temperature" sein und nicht "Bad" ...
So, gerade habe ich herausgefunden, dass wenn ich die (auf den ersten blick gut aussehende) inc_fenster.html in der heating.html auskommentiere, wesentlich mehr (alle? ) gewünschten Werte angezeigt werden...
Grüße
Stephan