Hallo,
ein Sensor zeit in den Readings die Temperatur und Luftfeuchtigkeit an.
Ich möchte diese Werte auf meiner Tablet-UI anzeigen und habe folgende Verweise geschrieben:
<td><div class="inline" data-type="label">Wohnzimmer</div></td>
<td><div class="large" data-type="label" data-colors='["#B28F00"]' data-limits='["0"]'
data-device="Sensor_Terassentuer"
data-get="temperature"
data-unit="%B0C%0A"></div>
</td>
Leider kommt kein Wert an :-[
Zeig mal ein "list Sensor_Terassentuer"
Bitte schön!
Hoffe du kannst mir damit weiterhelfen
ZitatInternals:
DEF f5ade43b 17
IODev ZWAVE1
LASTInputDev ZWAVE1
MSGCNT 27
NAME Sensor_Terassentuer
NR 315
STATE closed
TYPE ZWave
ZWAVE1_MSGCNT 27
ZWAVE1_RAWMSG 000400111e8f010403800364097105000000ff061700053105030104063105012200be
ZWAVE1_TIME 2017-07-26 21:42:02
ZWaveSubDevice no
homeId f5ade43b
isWakeUp 1
lastMsgSent 1501095126.06448
nodeIdHex 11
.vclasses:
ALARM 4
ASSOCIATION 2
ASSOCIATION_GRP_INFO 1
BASIC 0
BATTERY 1
CONFIGURATION 1
DEVICE_RESET_LOCALLY 1
FIRMWARE_UPDATE_MD 2
MANUFACTURER_SPECIFIC 2
MULTI_CMD 1
POWERLEVEL 1
SECURITY 1
SENSOR_BINARY 2
SENSOR_MULTILEVEL 5
VERSION 2
WAKE_UP 2
ZWAVEPLUS_INFO 2
Readings:
2017-07-24 21:49:46 alarm AccessControl: Window/Door is closed
2017-07-26 21:42:02 alarm_AccessControl Window/Door is closed, notificationIsOn
2017-07-24 22:12:23 alarm_HomeSecurity Tampering - product covering removed, notificationIsOn
2017-07-26 21:42:02 battery 100 %
2017-07-26 21:42:02 luminance 4 %
2017-07-26 21:42:02 temperature 19.0 C
2017-07-24 23:00:38 timeToAck 0.103
2017-07-26 20:52:09 transmit NO_ACK
2017-06-24 22:15:14 tuerStatus 0
2017-07-26 20:52:04 wakeup notification
2017-07-24 22:12:24 wakeupReport interval 86400 target 1
Attributes:
IODev ZWAVE1
classes ZWAVEPLUS_INFO BATTERY ALARM ASSOCIATION CONFIGURATION MANUFACTURER_SPECIFIC VERSION SENSOR_BINARY SENSOR_MULTILEVEL WAKE_UP ASSOCIATION_GRP_INFO POWERLEVEL DEVICE_RESET_LOCALLY MULTI_CMD SECURITY FIRMWARE_UPDATE_MD MARK BASIC
devStateIcon AccessControl: Window/Door is open:signal_Fenster_Offen.on AccessControl: Window/Door is closed:signal_Fenster_Offen.off
extendedAlarmReadings 1
icon icoTermHaus
room Wohnzimmer
stateFormat {(split(/,|is /, ReadingsVal($name,"alarm_AccessControl","")))[1]}
vclasses ALARM:4 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BASIC:0 BATTERY:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 MANUFACTURER_SPECIFIC:2 MULTI_CMD:1 POWERLEVEL:1 SECURITY:1 SENSOR_BINARY:2 SENSOR_MULTILEVEL:5 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
"temperature" enthält schon eine Einheit. Deswegen funktioniert data-limits vermutlich nicht.
Versuch mal zuerst ohne unwichtige Optionen. Das kannst Du evtl. danach erweitern. Was ergibt:
<td><div class="inline" data-type="label">Wohnzimmer</div></td>
<td><div data-type="label"
data-device="Sensor_Terassentuer"
data-get="temperature"></div>
</td>
?
Leider nichts neues :-[
Das "Wohnzimmer" wird angezeigt, dahinter steht noch immer kein Wert
Hast Du schon TabletUI lange im Betrieb, oder ist das ganz neu?
Kannst du evtl. die ganze html Datei anhängen?
Die TabletUI läuft seit ca. 3 Monaten. Bis auf die Anzeige dieser einen Temperatur läuft auch alles:
<!DOCTYPE html>
<html>
<head>
<!--
/* FHEM tablet ui */
/*
* UI builder framework for FHEM
*
* Version: 2.2.*
* URL: https://github.com/knowthelist/fhem-tablet-ui
*
* Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
* Under MIT License (http://www.opensource.org/licenses/mit-license.php)
*
* - create a new folder named 'tablet' in /<fhem-path>/www
* - copy all files incl. sub folders into /<fhem-path>/www/tablet
* - add 'define TABLETUI HTTPSRV ftui ./www/tablet Tablet' in fhem.cfg
* - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
* <meta http-equiv="refresh" content="30; URL=http://192.168.0.250" />
*/
-->
<meta http-equiv="cache-control" content="no-cache">
<!--<meta http-equiv="refresh" content="300"> -->
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, minimal-ui" />
<meta name="widget_base_width" content="120">
<meta name="widget_base_height" content="135">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="gridster_disable" content="1">
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="longpoll_type" content="ajax">
<meta name="toast" content="0">
<meta name="debug" content="0"> <!-- verbose level 1-6 = output to console;0 = not output -->
<link rel="stylesheet" href="lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/jquery.toast.min.css" />
<script src="../pgm2/jquery.min.js"></script>
<script src="lib/jquery.toast.min.js"></script>
<script src="lib/jquery.gridster.min.js"></script>
<script src="js/fhem-tablet-ui.js"></script>
<title>Hausinfo - Küche</title>
</head>
<body>
<div class="gridster">
<ul>
<!-- Lampen -->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="2">
<div data-type="switch"
data-device="D4_Spuele"
data-get-on="on"
data-get-off="off"></div>
<div data-type="lable" class="">Spüle</div>
<div data-type="switch"
data-device="C6_Kueche"
data-get-on="on"
data-get-off="off"></div>
<div data-type="lable" class="">Küche</div>
<div data-type="switch"
data-device="D6_Esstisch"
data-get-on="on"
data-get-off="off"></div>
<div data-type="lable" class="">Esstisch</div>
</li>
<!-- Anwesenheit -->
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<header><font size="+1"> Anwesend </font></header>
<div class="centered container">
<div class="left">
<div data-type="switch" data-device="Tobias" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="cell">Papa</div>
</div>
<div class="left">
<div data-type="switch" data-device="Daniela" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="cell">Mama</div>
</div>
<div class="left">
<div data-type="switch" data-device="Lea" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="cell">Lea</div>
</div>
<div class="left">
<div data-type="switch" data-device="Paulina" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="cell">Paulina</div>
</div>
</div>
</li>
<!-- Temperatur -->
<li data-row="3" data-col="1" data-sizex="2" data-sizey="1">
<header><font size="+1">Temperaturen</font></header>
<div class="cell">
<table>
<tr>
<tr><td> </td></tr>
<td><div class="small" data-type="label">Pool</div></td>
<td><div class="small" data-type="label" data-colors='["#B28F00"]' data-limits='["0"]'
data-device="Temp_Pool" data-get="STATE" data-unit="%B0C%0A" ></div>
</td>
<td> </td>
<td><div class="small" data-type="label">Garten</div></td>
<td><div class="small" data-type="label" data-colors='["#B28F00"]' data-limits='["0"]'
data-device="Temp_Garten" data-get="STATE" data-unit="%B0C%0A" ></div>
</td>
</tr>
</table>
<table>
<tr>
<tr><td> </td></tr>
<td><div class="small" data-type="label">Wohnzimmer</div></td>
<td><div class="small" data-type="label"
data-device="Sensor_Terassentuer"
data-get='temperature' </div>
</td>
</tr>
</table>
</div>
</li>
<!-- Kamera -->
<li data-row="2" data-col="3" data-sizex="4" data-sizey="2">
<header>Hof</header>
<img src="http://192.168.0.87:86/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=admin&-pwd=1//56ahn" height="90%" wight="100%" border="0">
</img src>
</li>
<li data-row="2" data-col="2" data-sizex="1" data-sizey="1">
<div class="left top-space-2x">
<div data-type="label" class="inline w2x">Radio</div>
<div data-type="select" data-device="Radio" data-Alias='["Inselradio","MDR-Jump","SWR3", "hr3", "hr1", "hr-Info", "NDR2", "Antenne Bayern", "SKY Radio 101 NL"]' data-items='["http://stream.live-inselradio.com:8000/","http://c22033-ls.i.core.cdn.streamfarm.net/T3R6XGogC9922033/22033mdr/live/app2128740352/w2128904194/live_de_128.mp3","http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3","http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/128/stream.mp3", "http://hr-hr1-live.cast.addradio.de/hr/hr1/live/mp3/128/stream.mp3","http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3","http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3", "http://mp3channels.webradio.antenne.de:80/antenne", "http://20103.live.streamtheworld.com:80/SKYRADIOAAC_SC"]' data-get="input" data-set="playfile" class="cell w2x" ></div>
</div>
</li>
<!-- Türen -->
<li data-row="1" data-col="4" data-sizex="3" data-sizey="1">
<header><font size="+1"> Tür/Fenster </font></header>
<div class="left">
<div data-type="symbol"
data-device="Sensor_Terassentuer"
data-states='["open","closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="lable" class="">Terasse</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="Tor_Garten"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="lable" class="">Garten</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="K_Garage"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="lable" class="">Garage</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="K_Keller"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="lable" class="">Keller</div>
</div>
</li>
</body>
</html>
und mit
data-get="temperature"> </div>
Zitatdata-get="temperature"> </div>
statt
data-get='temperature' </div>
geht es auch nicht?
Nein, hatte ich auch schon versucht
Ja, aber wenn Du mit Syntax Fehler versuchts, kann es nicht funktionieren... Also, füg mal auf jeden Fall den fehlenden ">" hinzu!
Ausserdem ist es nicht empfohlen class=sheet, class=row und class=cell mit <table><tr><tr> zu mischen, da diese Classes schon HTML-Tabellen bauen. Hier hast Du eine Tabelle in einer Zelle, die selbst in keiner Tabelle ist.
o.k., der fehlenden ">" ist beim vielen ausprobieren entstanden.
Ich habe zwischenzeitlich auch mal ganz ohne Tabelle versucht den Wert anzuzeigen. Es kommt einfach nichts
Also:
- fehlende ">" hinzugefügt
- alle "lable" durch "label" ersetzen
- </ul></div> am Ende vor /body hinzufügen
- evtl. </table><table> Zeile 132 entfernen
- evtl. div class cell Zeile 116 und entspr. /div Zeile 147 entfernen.
Bei mir geht es.
Hallo amenomade,
die Schreibfehler sind berichtigt und ich habe alle Änderungsvorschläge von dir mit aufgenommen.
Leider passiert nichts!
Ich habe auch mal versucht ein Reading eines anderen Divice zu holen. Hat auch nicht funktioniert.
Danke für deine Hilfeversuche!
Zeig mal wieder deine html Datei nach Korrekturen.
gerne. Ich denke aber dass es eher an der Konfig meines FHEM liegen muss
<!DOCTYPE html>
<html>
<head>
<!--
/* FHEM tablet ui */
/*
* UI builder framework for FHEM
*
* Version: 2.2.*
* URL: https://github.com/knowthelist/fhem-tablet-ui
*
* Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
* Under MIT License (http://www.opensource.org/licenses/mit-license.php)
*
* - create a new folder named 'tablet' in /<fhem-path>/www
* - copy all files incl. sub folders into /<fhem-path>/www/tablet
* - add 'define TABLETUI HTTPSRV ftui ./www/tablet Tablet' in fhem.cfg
* - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
* <meta http-equiv="refresh" content="30; URL=http://192.168.0.250" />
*/
-->
<meta http-equiv="cache-control" content="no-cache">
<!--<meta http-equiv="refresh" content="300"> -->
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, minimal-ui" />
<meta name="widget_base_width" content="120">
<meta name="widget_base_height" content="135">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="gridster_disable" content="1">
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="longpoll_type" content="ajax">
<meta name="toast" content="0">
<meta name="debug" content="0"> <!-- verbose level 1-6 = output to console;0 = not output -->
<link rel="stylesheet" href="lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/jquery.toast.min.css" />
<script src="../pgm2/jquery.min.js"></script>
<script src="lib/jquery.toast.min.js"></script>
<script src="lib/jquery.gridster.min.js"></script>
<script src="js/fhem-tablet-ui.js"></script>
<title>Hausinfo - Küche</title>
</head>
<body>
<div class="gridster">
<ul>
<!-- Lampen -->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="2">
<div data-type="switch"
data-device="D4_Spuele"
data-get-on="on"
data-get-off="off"></div>
<div data-type="label" class="">Spüle</div>
<div data-type="switch"
data-device="C6_Kueche"
data-get-on="on"
data-get-off="off"></div>
<div data-type="label" class="">Küche</div>
<div data-type="switch"
data-device="D6_Esstisch"
data-get-on="on"
data-get-off="off"></div>
<div data-type="label" class="">Esstisch</div>
</li>
<!-- Anwesenheit -->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<header><font size="+1"> Anwesend </font></header>
<div class="centered container">
<div class="left">
<div class="small" data-type="switch" data-device="Tobias" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="small">Papa</div>
</div>
<div class="right">
<div class="small" data-type="switch" data-device="Daniela" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="small">Mama</div>
</div>
<div class="left">
<div class="small" data-type="switch" data-device="Lea" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="small">Lea</div>
</div>
<div class="right">
<div class="small" data-type="switch" data-device="Paulina" class="readonly" data-icon="fa-user" data-subtype="PRESENCE"
data-get-on="present"
data-get-off="absent"></div>
<div data-type="label" class="small">Paulina</div>
</div>
</div>
</li>
<!-- Temperatur -->
<li data-row="3" data-col="1" data-sizex="2" data-sizey="1">
<header><font size="+1">Temperaturen</font></header>
<div class="cell">
<table>
<tr>
<tr><td> </td></tr>
<td><div class="small" data-type="label">Pool</div></td>
<td><div class="small" data-type="label" data-colors='["#B28F00"]' data-limits='["0"]'
data-device="Temp_Pool" data-get="STATE" data-unit="%B0C%0A" ></div>
</td>
<td> </td>
<td><div class="small" data-type="label">Garten</div></td>
<td><div class="small" data-type="label" data-colors='["#B28F00"]' data-limits='["0"]'
data-device="Temp_Garten" data-get="STATE" data-unit="%B0C%0A" ></div>
</td>
</table><table>
</tr>
</table>
<table>
<tr>
<tr><td> </td></tr>
<td><div class="small" data-type="label">Wohnmmer</div></td>
<td><div class="small" data-type="label"
data-device="Sensor_Terassentuer"
data-get="temperature" ></div>
</td>
</tr>
</table>
</div>
</li>
<!-- Kamera -->
<li data-row="2" data-col="3" data-sizex="4" data-sizey="2">
<header>Hof</header>
<img src="http://192.168.0.87:86/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=admin&-pwd=1//56ahn" height="90%" wight="100%" border="0">
</img src>
</li>
<li data-row="2" data-col="2" data-sizex="1" data-sizey="1">
<div class="left top-space-2x">
<div data-type="label" class="inline w2x">Radio</div>
<div data-type="select" data-device="Radio" data-Alias='["Inselradio","MDR-Jump","SWR3", "hr3", "hr1", "hr-Info", "NDR2", "Antenne Bayern", "SKY Radio 101 NL"]' data-items='["http://stream.live-inselradio.com:8000/","http://c22033-ls.i.core.cdn.streamfarm.net/T3R6XGogC9922033/22033mdr/live/app2128740352/w2128904194/live_de_128.mp3","http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3","http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/128/stream.mp3", "http://hr-hr1-live.cast.addradio.de/hr/hr1/live/mp3/128/stream.mp3","http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3","http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3", "http://mp3channels.webradio.antenne.de:80/antenne", "http://20103.live.streamtheworld.com:80/SKYRADIOAAC_SC"]' data-get="input" data-set="playfile" class="cell w2x" ></div>
</div>
</li>
<!-- Türen -->
<li data-row="1" data-col="4" data-sizex="3" data-sizey="1">
<header><font size="+1"> Tür/Fenster </font></header>
<div class="left">
<div data-type="symbol"
data-device="Sensor_Terassentuer"
data-states='["open","closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="label" class="">Terasse</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="Tor_Garten"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="label" class="">Garten</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="K_Garage"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="label" class="">Garage</div>
</div>
<div class="left">
<div data-type="symbol"
data-device="K_Keller"
data-states='["sensor_open","sensor_closed"]'
data-icons='["ftui-door warn","ftui-door"]'
data-colors='["#999","#555"]'></div>
<div data-type="label" class="">Keller</div>
</div>
</li>
</ul></div>
</body>
</html>
Jepp. Mit dieser Datei geht es jetzt bei mir.
Ich würde Richtung "longpoll" (in FTUI aber auch in FHEM) suchen. Aber warum hättest Du nur bei diesem Device Probleme?
Versuch mal eine Seite zu basteln, die nur die http headers und dieses Device enthält.
Ich halte immer noch die Mischung von class=cell und table/tr/td Html Tags für eine schlechte Idee.
EDIT: Du hast jetzt ein <table></table> zu viel (Zeile 133)