Hallo,
irgendwie stehe ich auf dem Schlauch.
Ich versuche mich zur Zeit daran Aktoren oder Temp Sensoren auszulesen und diese in der Tablet UI dazustellen und bekomme hier nichts angezeigt.
Mein FHEMWEB habe ich so eingestellt
define WEB FHEMWEB 8083 global
attr WEB longpoll 1
Meine index.html sieht so aua
<!DOCTYPE html>
<html>
<head>
<!--
/* FHEM tablet ui */
/*
* UI builder framework for FHEM
*
* Version: 2.5.*
* URL: https://github.com/knowthelist/fhem-tablet-ui
*
* Copyright (c) 2015-2017 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 name="longpol" content="1">
<meta name="longpol_type" content="ajax">
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
<script src="js/fhem-tablet-ui.js" defer></script>
<script src="/fhem/pgm2/jquery.min.js" defer></script>
<script src="/fhem/tablet/lib/jquery.toast.min.js" defer></script>
<script src="/fhem/tablet/lib/jquery.gridster.min.js" defer></script>
<script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>
<title>Smart Home</title>
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="5" data-sizex="1" data-sizey="2"class="left-align">
<header>Tabelle aktuell</header>
<div class="sheet">
<div class="row">
<div class="cell-10 border-blue bg-white lightblue big center-align">#</div>
<div class="cell-50 border-blue bg-white lightblue big center-align">Geraet</div>
<div class="cell-20 border-blue bg-white lightblue big center-align">Status</div>
</div>
<div class="row">
<div class="cell-10 bg-white blue border-gray center-align">01</div>
<div class="cell-50 big bg-white green border-gray center-align"><div data-type="label" data-device="Schalter_1" data-get="state"></div></div>
<div class="cell-20 bg-white blue border-gray center-align"><div data-type="label" data-device="Schalter_1" data-get="Wert"></div></div>
</div>
<div class="row">
<div class="cell-10 bg-white blue border-gray center-align">02</div>
<div class="cell-50 big bg-white mint border-gray center-align"><div data-type="label" data-device="Schalter_2" data-get="state"></div></div>
<div class="cell-20 bg-white blue border-gray center-align"><div data-type="label" data-device="Schalter_2" data-get="Wert"></div></div>
</div>
<div class="row">
<div class="cell-10 bg-white blue border-gray center-align">03</div>
<div class="cell-50 big bg-white mint border-gray center-align"><div data-type="label" data-device="Pool_Temp" data-get="becken"></div></div>
<div class="cell-20 bg-white blue border-gray center-align"><div data-type="label" data-device="Pool_Temp" data-get="state"></div></div>
</div>
<div class="row">
<div class="cell-10 bg-white blue border-gray center-align">04</div>
<div class="cell-50 bg-white blue border-gray center-align"><div data-type="label" data-device="Schalter_3" data-get="state"></div></div>
<div class="cell-20 bg-white blue border-gray center-align"><div data-type="label" data-device="Schalter_3" data-get="Wert"></div></div>
</div>
</div>
</li>
</ul>
</div>
</body>
</html>
Ich wollte in der Tabelle erst einmal nur den Status und den Wert anzeigen lassen.
Dies hat zunächst erstmal keinen Nutzen, ich will mich einfach mal daran probieren.
In der tablet ui bekommen ich eine leere Tabelle angezeigt.
Manchmal kann ich im Consolen Fenster vom Browser diesen Error lesen
widget_label.js:71 Uncaught TypeError: elem.initData is not a function
at Object.init_attr (widget_label.js:71)
at HTMLDivElement.<anonymous> (fhem-tablet-ui.min.js:1)
at Function.each (jquery.min.js:2)
at w.fn.init.each (jquery.min.js:2)
at Object.init (fhem-tablet-ui.min.js:1)
at fhem-tablet-ui.min.js:2
at u (jquery.min.js:2)
at Object.add [as done] (jquery.min.js:2)
at Object.always (jquery.min.js:2)
at Object.<anonymous> (fhem-tablet-ui.min.js:2)
Was mache ich hier denn falsch ?
Viele Grüße
Sven
Versuch ohne <meta name="longpol_type" content="ajax">
Hi,
ich habe mal
<meta name="longpol" content="1">
<meta name="longpol_type" content="ajax">
aus der index.html rausgeschmissen.
Ohne Erfolg
Dann habe ich in der fhem.cfg wieder auf websocket umgestellt
attr WEB longpoll websocket
auch ohne Erfolg.
Irgendwie will dies einfach nicht.
Ich hatte nur von longpoll_type geredet.
longpoll 1 kann/muss bleiben.
Jetzt ne Frage
Fuktioniert dein TabletUI mit dem mitgelieferten (demo) index.html ?
https://github.com/knowthelist/fhem-tablet-ui/blob/master/www/tablet/index-example.html
EDIT: Du hast auch einen HTML Fehler in deiner index.html:
<ul>
<li data-row="1" data-col="5" data-sizex="1" data-sizey="2"class="left-align">
<header>Tabelle aktuell</header>
<div class="sheet">
Es fehlt ein Leerzeichen zwischen data-sizey="2" und class
Hallo,
vielen Dank für die Hilfe.
html Typo habe ich rausgemacht.
Fehler gefunden.
Ich habe die Zeile
<script src="js/fhem-tablet-ui.js" defer></script>
deaktiviert.
Ich hatte noch diese Zeile drin.
<script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>
Hier darf nur entweder oder aktiviert sein.
Vielen Dank und Grüße
Sven