Juhu,
ich versuche bei den Temperatursensoren den Trend ordentlich anzuzeigen. Bisher wird er so angezeigt: "1h: +2.2 2h: - 3h: - 6h: -"
Ich wollte das aber in je eine Spalte haben und hab mit userReadings experimentiert:
attr Temperatur_Sammlung userReadings trend {sprintf("%f",ReadingsVal($DEVICE,"statTemperatureTendency",""))}
Oben im DEF wollte ich dann statt "statTemperatureTendency" einfach "trend" eintragen.
Was mache ich denn Falsch?
UPDATE:
Bin einen Schritt weiter gekommen, sprintf war ja schon mal grundlegend falsch. split führte zum erfolg. Aber, wie splitte ich Wert 1, 2 und 3 seperat?
Internals:
DEF <Sensor>,<Temperatur>,<Feuchtigkeit>,<Batterie>,<Trend>,<Trend>,<Trend>
TYPE=LaCrosse:temperature,humidity,battery,statTemperatureTendency,statTemperatureTendency,statTemperatureTendency
NAME Temperatur_Sammlung
NR 444
NTFY_ORDER 50-Temperatur_Sammlung
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
CONTENT:
LaCrosse_00 1
LaCrosse_05 1
LaCrosse_09 1
LaCrosse_1A 1
LaCrosse_1B 1
LaCrosse_20 1
LaCrosse_31 1
CONTENT2:
DEVICES:
ARRAY(0x47e8d40)
ARRAY(0x4a05d78)
ARRAY(0x4695b88)
ARRAY(0x4b2a888)
ARRAY(0x4896e58)
ARRAY(0x46907b8)
ARRAY(0x4762490)
ARRAY(0x48591c0)
fhem:
lastDefChange 60
last_update 1527844506.86166
helper:
DEF
nameStyle style="color:blue;;font-weight:bold"
valueFormat { if($READING eq "statTemperatureTendency") { (split(" ", $VALUE))[1] } }
valueStyle { if($READING eq "temperature" && $VALUE > 30) { 'style="color:red;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE > 25) { 'style="color:orange;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE > 20) { 'style="color:green"'}
elsif($READING eq "temperature" && $VALUE < 10) { 'style="color:darkblue;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE < 5) { 'style="color:blue;;font-weight: bold"'}
else{'style="color:black"'}}
positions:
LaCrosse_00.battery 2:3
LaCrosse_00.humidity 2:2
LaCrosse_00.statTemperatureTendency 2:4,2:5,2:6
LaCrosse_00.temperature 2:1
LaCrosse_05.battery 3:3
LaCrosse_05.humidity 3:2
LaCrosse_05.statTemperatureTendency 3:4,3:5,3:6
LaCrosse_05.temperature 3:1
LaCrosse_09.battery 4:3
LaCrosse_09.humidity 4:2
LaCrosse_09.statTemperatureTendency 4:4,4:5,4:6
LaCrosse_09.temperature 4:1
LaCrosse_1A.battery 5:3
LaCrosse_1A.humidity 5:2
LaCrosse_1A.statTemperatureTendency 5:4,5:5,5:6
LaCrosse_1A.temperature 5:1
LaCrosse_1B.battery 6:3
LaCrosse_1B.humidity 6:2
LaCrosse_1B.statTemperatureTendency 6:4,6:5,6:6
LaCrosse_1B.temperature 6:1
LaCrosse_20.battery 7:3
LaCrosse_20.humidity 7:2
LaCrosse_20.statTemperatureTendency 7:4,7:5,7:6
LaCrosse_20.temperature 7:1
LaCrosse_31.battery 8:3
LaCrosse_31.humidity 8:2
LaCrosse_31.statTemperatureTendency 8:4,8:5,8:6
LaCrosse_31.temperature 8:1
recalc:
undef
ARRAY(0x4ad0e28)
ARRAY(0x45ce0c0)
valueIcon:
battery.low batterie@red
battery.ok batterie@green
window.closed fts_window_1w@green
window.open fts_window_1w_open@red
valueSuffix:
humidity %
measured-temp °C
temperature °C
values:
formated:
undef
ARRAY(0x473e218)
ARRAY(0x47945e0)
ARRAY(0x1fb42d0)
ARRAY(0x49f4eb8)
ARRAY(0x4b13330)
ARRAY(0x4853768)
orig:
undef
ARRAY(0x4876fc8)
ARRAY(0x48926f8)
ARRAY(0x4737210)
ARRAY(0x4b82778)
ARRAY(0x47f8210)
ARRAY(0x4b87538)
prefixsuffix:
undef
ARRAY(0x4b0ef78)
ARRAY(0x4859808)
ARRAY(0x4b92a98)
ARRAY(0x4ba9070)
ARRAY(0x4856440)
ARRAY(0x230ab90)
Attributes:
alias Temperatur
nameStyle style="color:blue;;font-weight:bold"
room Status
sortColumn 0
userReadings trend {sprintf("%f",ReadingsVal($DEVICE,"statTemperatureTendency",""))}
valueFormat { if($READING eq "statTemperatureTendency") { (split(" ", $VALUE))[1] } }
valueIcon {'window.closed' => 'fts_window_1w@green', 'window.open' => 'fts_window_1w_open@red','battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}
valueStyle { if($READING eq "temperature" && $VALUE > 30) { 'style="color:red;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE > 25) { 'style="color:orange;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE > 20) { 'style="color:green"'}
elsif($READING eq "temperature" && $VALUE < 10) { 'style="color:darkblue;;font-weight: bold"'}
elsif($READING eq "temperature" && $VALUE < 5) { 'style="color:blue;;font-weight: bold"'}
else{'style="color:black"'}}
valueSuffix { "temperature" => ' °C ', "measured-temp" => ' °C ' , "humidity" => ' % ' }
Im valueFormat kann ich nur eins unterscheiden :(