Achtung! Hier kommt wieder ein Update zum ;D "Zerschießen" ;D eurer Oberflächen
Also: Bitte nicht sofort auf im Alltag genutzte Systeme ungetestet ausrollen.
Neu:
- Longpoll: WebSocket als Standard, AJAX als Fallback oder per meta setting auswählbar
Ihr müsst im FHEM websocket anschalten
Achtung: longpoll=websocket funktioniert nicht zusammen mit basicAuth (Device allowed_WEB)
attr WEB longpoll websocket
- Flexible Base Directory Ermittlung wieder eingebaut. War mit 2.5.1 entfernt worden.
Damit kann man jetzt wieder seine HTML Seiten in Unterordner stecken und über die Angabe der fhem-tablet-ui.min.js bzw. fhem-tablet-ui.js im Header wird das Basisverzeichnis ermittelt.
- Unterstützung csrfToken Handling
- Unterstützung basicAuth
Dazu kann man im HTML die Metatags "username" und "password" hinterlegen.
- Per data-bind kann man jetzt auch auf interne FTUi-Variablen zugreifen, um deren Inhalt in der Oberfläche darzustellen.
Siehe index_state.html in examples
- einige wenige CSS Änderungen
zum Beispiel anstatt "bigger thin" für Labels muss man jetzt "great thin" benutzen, um das gleiche Ergebnis zu erzielen. "bigger" ist 200%, "great" ist 450%
<div class="cell">
<div class="bigger line-normal">FTUI</div>
<div class="" data-bind="ftui.version"></div>
</div>
Prima, dass du so unermütlich dran bleibst! :-)
Habe das Update eben mal auf meiner Testumgebung gemacht. Nach dem Aufruf meiner Seiten merkt er folgendes an:
WebSocket connection to 'ws://xxx.xxx.x.xxx:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON' failed: Error during WebSocket handshake: Unexpected response code: 200
Funktioniert Websocket bei dir im FHEMWEB?
WEB > longpoll auf "websocket"
welches Gerät + Browser benutzt du?
FHEM und Tablet UI laufen auf einer Diskstation DS212j. Habe die Weboberfläche über meinen Laptop mit Chrome gestartet. Mit der Frage ob Websocket im FHEMWEB funktioniert bin ich offen gesagt gerade überfragt. ;)
Was genau meinst du mit: WEB > longpoll auf "websocket"?
Im FHEMWEB gibt es ein Device WEB. Dort unter Attributes longpoll auf websocket
Habe mich eben belesen, das besagte Attribut entdeckt und gesetzt. Jetzt klappt es. :-)
Sieht bis auf ein paar Kleinigkeiten in den Formatierungen erstmal gut aus.
Aktuell fehlt mir aber die Checkbox aus meinem Test-Template: (ziemlich weit unten im Sourc-Code)
<body>
<div class="sheet">
<div class="row">
<div data-type="symbol" data-device="var_device2" data-states='["off","on"]' data-colors='["blue","red"]' data-icon="fa-thermometer-3" class="cell big compressed"></div>
<div class="sheet">
<div class="row">
<div data-type="label" class="cell large bold left-align">var_name</div>
<div data-type="symbol" data-device="var_device1" data-get="desired-temp" data-states='["var_temp_night","var_temp_day"]' data-icons='["fa-moon-o","mi-wb_sunny"]' data-colors='["grey","blue"]' class="cell small"></div>
<div data-type="label" data-device="var_device1" data-get="desired-temp" data-unit="°C" class="cell small"></div>
</div>
<div class="row">
<div data-type="label" data-device="var_device1_Climate" data-get="measured-temp" data-unit="°C" class="cell big thin"></div>
<div data-type="label" data-device="var_device1_Climate" data-get="humidity" data-unit="%" class="cell big thin"></div>
</div>
</div>
<div data-type="checkbox" data-device="var_device1_Climate" data-get="desired-temp" data-set="desired-temp" data-get-on="var_temp_day" data-get-off="var_temp_night" data-set-on="var_temp_day" data-set-off="var_temp_night" class="cell blue"></div>
</div>
</div>
</body>
Hier mal noch das Ergebnis in V2.5 und V2.6
Darf ich mal fragen was da der unterschied ist zwischen longpoll und websockets? Oder anders gefragt was ist denn besser? Ich hab natürlich Longpoll und LongpollSVG auf 1 stehen, aus Urzeiten.
Gruß
Daniel
longpoll über websocket ist moderner und besser. FHEM überträgt per websocket nur die eigentlichen Events. Longpoll per HTTP Ajax sendet die gesamte Liste der letzten zig Events immer wieder, bis es zum Überlauf kommt. Ich hatte deswegen ein re-connect aller 9999 Zeilen eingebaut. Man musste sich dann immer die letzte Zeilennummer merken und bei jedem Event erst ab dieser Zeile verarbeiten. Websocket wird aber nur von neueren Browsern unterstützt. Unter Android ab 4.4.
Zitat von: jemu75 am 11 Februar 2017, 15:46:26
Hier mal noch das Ergebnis in V2.5 und V2.6
Sorry, checkbox hatte noch einen Fehler im dependency Pfad. Ist korrigiert.
Die große Schrift musst du einfach nur größer machen "tall" z.B.
"big" ist nur 150%
Zitat von: setstate am 11 Februar 2017, 14:59:21
- Longpoll: WebSocket als Standard, AJAX als Fallback oder per meta setting auswählbar
Hast du da zufällig beispiele wie die meta-Tags jetzt aussehen (könnten)?
Grüße^^
Hallo, setstate.
Ganz herzlichen Dank für Deine wundervolle Arbeit. Werde das Update dieser Tage testen und gerne berichten.
gesendet von meinem Note via Tapatalk
Hab bei FHEM ein Update gemacht FTUI ist inbegriffen im Update nun geht nix mehr.
Muss ich alles ändern ?
Longpoll auf websocket umgestellt
Hab es hin bekommen meine Einträge in eine aktuelle HTML kopiert und seist wieder alles da;)
manuelle Konfiguration geht per
<meta name="longpoll_type" content="websocket">
"ajax" -> HTTP AJAX
"0" -> longpoll aus
Hallo,
Bei mir wird mit 2.6 leider nur noch die "Menu.html" ohne Unterseiten angezeigt, auch bei einem klicken auf die Pagetabs wird kein Untermenü eingeblendet. Fehlermeldungen bekomme ich keine.
(Aufgebaut nach der Anleitung im FAQ https://wiki.fhem.de/wiki/FHEM_Tablet_UI/FAQ#Wie_baue_ich_ein_Men.C3.BC_mit_dem_Pagetab_Widget_auf.3F (https://wiki.fhem.de/wiki/FHEM_Tablet_UI/FAQ#Wie_baue_ich_ein_Men.C3.BC_mit_dem_Pagetab_Widget_auf.3F) )
Zitat von: harald654 am 11 Februar 2017, 17:04:44
Hallo,
Bei mir wird mit 2.6 leider nur noch die "Menu.html" ohne Unterseiten angezeigt, auch bei einem klicken auf die Pagetabs wird kein Untermenü eingeblendet. Fehlermeldungen bekomme ich keine.
(Aufgebaut nach der Anleitung im FAQ https://wiki.fhem.de/wiki/FHEM_Tablet_UI/FAQ#Wie_baue_ich_ein_Men.C3.BC_mit_dem_Pagetab_Widget_auf.3F (https://wiki.fhem.de/wiki/FHEM_Tablet_UI/FAQ#Wie_baue_ich_ein_Men.C3.BC_mit_dem_Pagetab_Widget_auf.3F) )
habe das gleiche problem :-[
Bei mir geht nach dem Update gar nichts mehr. :(
attr WEB longpoll websocket
ist gesetzt, aber außer der angefügten Fehlermeldung
wird nichts mehr angezeigt.
Zitat von: setstate am 11 Februar 2017, 14:59:21
Achtung! Hier kommt wieder ein Update zum ;D "Zerschießen" ;D eurer Oberflächen
Eigentlich mag ich die Art von Humor. In Deinem Fall kann ich darüber allerdings nicht mehr lachen. Wenn ich daran denke, wie viele Stunden mich das letzte Update gekostet hat ... Da muss man schon sehr leidensfähig sein, wenn man sich das weiter antut.
Dann machst es halt einfach nicht
Bitte Header Inhalt auf Sinnhaftigkeit prüfen
so sieht dieser für meine mobile Seite aus
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="gridster_base_width" content="120">
<meta name="gridster_base_height" content="131">
<meta name="debug" content="1">
<link rel="stylesheet" href="css/fhem-mobil-ui.css" />
<script src="js/fhem-tablet-ui.js" defer></script>
<title>FHEM-Mobil-UI</title>
</head>
Fürs Tablet bei mir so
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<meta name='gridster_disable' content='1'>
<meta name='gridster_resize' content='0'>
<meta name='debug' content='2'>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-darkblue-ui.css" / -->
<!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.css" / -->
<script src="js/fhem-tablet-ui.js" defer></script>
<!-- Remove this line to enable for usage with WebViewControl -->
<script defer>
var wvcDevices = {
'12345': 'Tablet'
};
var wvcUserCssFile = "webviewcontrol.css"
</script>
<script src="../pgm2/cordova-2.3.0.js" defer></script>
<script src="../pgm2/webviewcontrol.js" defer></script>
<!-- End for WebViewControl -->
<title>FHEM-Tablet-UI-Dev</title>
</head>
Zitat von: setstate am 11 Februar 2017, 16:27:03
Sorry, checkbox hatte noch einen Fehler im dependency Pfad. Ist korrigiert.
Die große Schrift musst du einfach nur größer machen "tall" z.B.
"big" ist nur 150%
Sehr gut! Bis jetzt sieht alles fein aus. Da ich nach dem Wechsel von 2.4 auf 2.5 sowieso neu angefangen habe, mache jetzt auf Version 2.6 weiter. :)
Großes Dankeschön noch mal für die schnelle Lösung!
Also bei mir funktioniert der pagetab für die Navigation auch nicht mehr.. :-(
Longpoll ist gesetzt und den Header für die Index-Seite hab ich mal aus deinem Beispiel übernommen.
Fehlermeldung kommt auch nicht.
Die Navigations HTml sieht wie folgt aus..
<html>
<body>
<header>Navigation</header>
<div class="cell">
<div data-type="pagetab" data-url="/fhem/tablet/index.html" data-icon="fa-home" class="cell"></div>
<div data-type="pagetab" data-url="/fhem/tablet/wohnzimmer.html" data-icon="oa-scene_livingroom" class="cell"></div>
<div data-type="pagetab" data-url="/fhem/tablet/schlafzimmer.html" data-icon="oa-scene_sleeping" class="cell"></div>
<div data-type="pagetab" data-url="/fhem/tablet/aquarium.html" data-icon="fs-Icon_Fisch" class="cell"></div>
<div data-type="pagetab" data-url="/fhem/tablet/wetter.html" data-icon="fa-cloud" class="cell"></div>
<div data-type="pagetab" data-url="/fhem/tablet/system.html" data-icon="fs-system_fhem" class="cell"></div>
</div>
</body>
</html>
Was mir gerade noch aufgefallen ist, er macht auf der Indexseite ständig ein Disconnect von FHEM seit dem Update..
Gruß
Markus
Zitat von: Markus. am 11 Februar 2017, 18:01:20
Was mir gerade noch aufgefallen ist, er macht auf der Indexseite ständig ein Disconnect von FHEM seit dem Update..
mit
attr WEB longpoll websocket
ist dat bei mir weg.
das mit pagetab geht bei mir immer noch nicht ...
Sorry, Pagetab hatte noch ein return zu Testzwecken drin. Fix ist open
Hat sich noch irgendwas an der Ausrichtung von den Menüs geändert?
Vorm Update sah das eigentlich ganz gut aus, jetzt ist es aber verschoben (siehe Screenshot)
Zitat von: setstate am 11 Februar 2017, 18:18:17
Sorry, Pagetab hatte noch ein return zu Testzwecken drin. Fix ist open
Ah jetzt,
JA
Pagetab funzt wieder 😃Danke !!!
Aber das mit dem disconect ist trotz longpoll websocked im WEB
Klappt es aber mit <meta name="longpoll_type" content="ajax">
Das ist dann die Variante wie bei 2.5, bis wir eine Ursache dafür gefunden haben.
Ich weiß auch nicht genau, ob das Setting im FHEMWEB nötig ist, und die Verbindung per Websocket so oder so möglich ist. Ich wollte nur wissen, ob mit der Einstellung eine Kommunikation innerhalb FHEMWEB möglich ist.
Im swiper Modul scheint sich auch was geändert zu haben. Er schiebt mir die Zeilen alle zusammen.
Zitat von: setstate am 11 Februar 2017, 19:07:31
Klappt es aber mit <meta name="longpoll_type" content="ajax">
Das ist dann die Variante wie bei 2.5, bis wir eine Ursache dafür gefunden haben.
Ich weiß auch nicht genau, ob das Setting im FHEMWEB nötig ist, und die Verbindung per Websocket so oder so möglich ist. Ich wollte nur wissen, ob mit der Einstellung eine Kommunikation innerhalb FHEMWEB möglich ist.
also bei mir kommt mit
<meta name="longpoll_type" content="websocket">
kein Disconnect
war nach setzen mit
attr WEB longpoll websocket
weg
Ich check das morgen nochmal glaube ich hab den meta Eintrag nicht in der index.html. Habe nur das Attribut gesetzt für Web.
Gruß
Markus
War natürlich so blöd und habe das Update durchgeführt ... Jetzt kommt nur noch der folgende Fehler. Gibt es einen Workaround? Oder ist irgendwas in meiner INDEX falsch?
Zitat von: Det20 am 11 Februar 2017, 19:31:52
War natürlich so blöd und habe das Update durchgeführt ... Jetzt kommt nur noch der folgende Fehler. Gibt es einen Workaround? Oder ist irgendwas in meiner INDEX falsch?
genau ... wenn Du dat in der index drin hast ist Disconnect weg ;)
Mhh also wenn ich das Longpoll auf WebSockets umstelle funktioniert bei mir schon die normale FHEM Seite nicht mehr, ich sehe nur die Meldung:
Connection lost, trying a reconnect every 5 seconds.
/Daniel
also bis auf kleine Schriftarten Veränderungen scheint das meiste normal zu funktionieren. Leider bekomme ich mit Debug 3 weitere Toast Nachrichten, die ich nicht verstehe. Siehe Bilder ;)
Danke für die geile UI :) :)
Beste Grüße
Andy
Zitat von: fini am 11 Februar 2017, 19:19:08
also bei mir kommt mit
<meta name="longpoll_type" content="websocket">
kein Disconnect
war nach setzen mit
attr WEB longpoll websocket
weg
Hallo setstate
kannst du im ersten Beitrag mit aufnehmen?
attr WEB longpoll websocket
Gruß Paul
Zitat von: fini am 11 Februar 2017, 19:41:59
genau ... wenn Du dat in der index drin hast ist Disconnect weg ;)
Verstehe ich nicht. DAT?
Zitat von: Det20 am 11 Februar 2017, 19:31:52
War natürlich so blöd und habe das Update durchgeführt ... Jetzt kommt nur noch der folgende Fehler. Gibt es einen Workaround? Oder ist irgendwas in meiner INDEX falsch?
Hallo, hatte ich auch da stimmt der Path nicht mehr
<script src="js/fhem-tablet-ui.js" defer></script>
Gruß Paul
Wenn es es mal zusammenfassen darf:
- In FHEM.CFG muss "attr WEB longpoll websocket" definiert sein
- In der INDEX muss "<script src="js/fhem-tablet-ui.js" defer></script>" stehen statt "<script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>"
- "bigger thin" muss gegen "great thin" getauscht werden
Hallo Det20
probiermal das, wobei nicht mehr alle css und js Dateien eingetragen sein müssen aber schaden kann es nicht.
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="74">
<meta name="widget_base_height" content="90">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="0"> <!-- verbose level 1-6 = output to console;0 = not output -->
<meta http-equiv="Cache-Control" content="no-store" />
<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" />
<link rel="stylesheet" href="css/fhem-tablet-ui-custom.css" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
<script src="../pgm2/jquery.min.js" defer></script>
<script src="lib/jquery.toast.min.js" defer></script>
<script src="lib/jquery.gridster.min.js" defer></script>
<script src="js/fhem-tablet-ui.min.js" defer></script>
<!-- Remove this line to enable for usage with WebViewControl
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="../pgm2/cordova-2.3.0.js" defer></script>
<script src="../pgm2/webviewcontrol.js" defer></script>
<!-- End for WebViewControl -->
und in der fhem.cfg unter define WEB FHEMWEB 8083 global
attr WEB longpoll websocket
Gruß Paul
Danke, läuft wieder.
Zitat von: Andy89 am 11 Februar 2017, 20:31:12
also bis auf kleine Schriftarten Veränderungen scheint das meiste normal zu funktionieren. Leider bekomme ich mit Debug 3 weitere Toast Nachrichten, die ich nicht verstehe. Siehe Bilder ;)
Danke für die geile UI :) :)
Beste Grüße
Andy
ftui.poll.timestamp gab es mal. Hast du das als <script> irgendwo in deiner html benutzt?
Jetzt gibt es
ftui.poll.lastEventTimestamp
ftui.poll.lastUpdateTimestamp
Zitat von: setstate am 11 Februar 2017, 22:52:02
ftui.poll.timestamp gab es mal. Hast du das als <script> irgendwo in deiner html benutzt?
Jetzt gibt es
ftui.poll.lastEventTimestamp
ftui.poll.lastUpdateTimestamp
top danke!
Zitat von: Det20 am 11 Februar 2017, 21:08:59
Wenn es es mal zusammenfassen darf:
....
- In der INDEX muss "<script src="js/fhem-tablet-ui.js" defer></script>" stehen statt "<script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>"
......
aber nur, wenn ihr zwei Versionen betreibt. z.B.
/fhem/tablet produktiv
/fhem/tablet_dev zum Testen
Dann zeigt ihr mit solchen festen Pfaden zur falschen Version, wenn ihr gerade aus /fhem/tablet_dev startet. Deshalb bevorzuge ich die relative Pfadangabe.
Habe gerade auch das update sowohl für FHEM als auch für FTUI gemacht.
Abgesehen von kleinen Verschiebungen durch die css-Änderungen bei xxx-space ist im Style ja erstmal alles OK.
zum Thema longpoll kann ich nicht auf websocket umstellen, da ich über einen Apache-Proxy arbeite
und ich dann schon im FHEMWEB ständig die Meldung
Connection lost, trying a reconnect every 5 seconds
bekomme.
In der Console irritiert mich nur, egal ob ich in den meta's wie früher die "1" oder jetzt "ajax" eintrage, jetzt die Fehlermeldung
WebSocket connection to 'wss://192.168.6.249/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON' failed: Error during WebSocket handshake: Unexpected response code: 200
bekomme.
Sollte die dann eigentlich nicht kommen ??
hatte sie zumindest bis jetzt noch nicht.
Um auf AJAX longpoll umzustellen musst man das im HEADER setzen
<meta name="longpoll_type" content="ajax">
Wo FHEM erreicht werden kann, setzt man hiermit
<meta name='fhemweb_url' content='http://fhemserver.local:8083/fhem/'>
Kannst du testweise auch auf http anstatt https umstellen?
Hi,
die Umstellung hat bis auf eine kleine Verschiebung geklappt, jedoch funktioniert bei einem meiner Tablets Longpol nicht mehr.
Ich habe zwei Tablets, eins mit Android 4.4 und eins mit 6.0. Beim 4.4er wird im Fully Browser klappt Longpol nicht.
Sowohl mit WEB > Longpol 1 oder websockets. Beides klappt nicht. Im normalen Chrome Browser klappt es.
Auf dem 6.0er Tablet ist wiederum alles Ok.
Hat einer ne Idee?
Grüße
Olli
mal ne blöde Fage bezüglich der Index.html...
Wenn man
<meta name="longpoll_type" content="websocket">
verwendet,muss dann die Zeile
<meta name="longpoll" content="1">
raus ?
Gruß
Markus
Guten Morgen
Ja wer lesen kann ist klar im Vorteil.
Das es in den meta's nicht mehr "longpoll" sondern "longpoll_type" heißt, habe ich komplett überlesen.
Jetzt sind auch die Fehler-Meldungen in der Console weg.
So wohl http als auch https.
Das mit der url Einstellung ist in meinem Fall nicht nötig, bzw kontra produktiv.
Es gibt ja 2 Wege über die der Zugriff erfolg. Entweder für "inHouse" "http://192.168...." und zum anderen für extern "https://www...."
und ohne Angabe findet er ja den richtigen Weg.
Jetzt braucht es nur noch eine Lösung für den Proxy, damit der auch websocket-Anfragen weiterleitet.
Bisher schlugen leider alle Versuche fehl.
Gruss Brause
jetzt noch eine Frage zum verständis... :-(
Ich habe eine Index.html mit dem kompletten Header. Ansonsten beinhalten die Seiten im Templates (htm). Alle Seiten blenden die
Navigation.html ein. Was ich jetzt gesehen habe ist, das eine Werte-Aktualisierung nur auf der Index.html erfolgt und nicht auf den Seiten, die über die Navigation mit pagetab erreicht werden. Muss der komplette Header auf allen Unterseiten vorhanden sein oder reicht es wenn er in der Startseite (index.html) vorhanden ist?
Vor der Änderung des Longpoll hat es soweit funktioniert mit der Aktualisierung auf allen "Unterseiten"...
Mein Header sieht wie folgt aus...
<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 name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="154">
<meta name="widget_base_height" content="142">
<meta name="widget_margin" content="3">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="gridster_disable" content="0">
<!--<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="longpoll_type" content="websocket">
<meta name="debug" content="2"> <!-- 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" />
<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />
/ -->
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
<!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.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" defer></script>
<!-- Remove this line to enable for usage with WebViewControl
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="../pgm2/cordova-2.3.0.js" defer></script>
<script src="../pgm2/webviewcontrol.js" defer></script>
<!-- End for WebViewControl -->
<title>TabletUI-Automation</title>
</head>
Gruß
Markus
Zitat von: Brause am 12 Februar 2017, 00:11:42
zum Thema longpoll kann ich nicht auf websocket umstellen, da ich über einen Apache-Proxy arbeite
und ich dann schon im FHEMWEB ständig die Meldung
Connection lost, trying a reconnect every 5 seconds
bekomme.
OK, das erklärt warum das bei mir auch so ist, ich nutze auch den Apache als Proxy weil ich es anders nicht hin bekomme mit dem SSL und LetsEncrypt Zertifikaten.
Btw. bei mir sieht alles gleich aus nach dem Update.
Danke setstate! Bei mir läuft nach minimalen Änderungen alles. Die css-Anpassungen hier und da machen in meinem Fall absolut Sinn.
schöne Grüße
Jo
Also das mit dem disconect hab ich weiterhin ab und zu mal umd das halt mit dem automatischen aktualiseren der Werte. Habs ach mal auf ajax umgestellt aber da ist das selbe...😱
Zitat von: Det20 am 11 Februar 2017, 21:08:59
Wenn es es mal zusammenfassen darf:
- In FHEM.CFG muss "attr WEB longpoll websocket" definiert sein
- In der INDEX muss "<script src="js/fhem-tablet-ui.js" defer></script>" stehen statt "<script src="/fhem/tablet/js/fhem-tablet-ui.min.js" defer></script>"
- "bigger thin" muss gegen "great thin" getauscht werden
Tja, habe ich alles so gemacht, bekomme permanent folgende Toast Meldungen
Longpoll wegsocket started
Disconnected from FHEM
Retry To connect in 10 seconds
Disconnected from FHEM
Retry to connect in 10 seconds
Das wiederholt sich, zwischendurch meldet es auch mal (aber selten) Full refresh, dann aber wieder obiges.
FHEM und Tabletui läuft alles auf dem gleichen NUC
wenn du in der fhem.cfg das eingetragen hast "attr WEB longpoll websocket"
musst du "shutdown restart" rufen.
Im FHEMWEB kannst du es adhoc umstellen und es müsste sofort eine Verbindung hergestellt werden
Ich werde noch eine kleine Abfrage einbauen, ob websocket überhaupt aktiviert ist auf FHEM-Seite. Wenn nicht dann Fallback auf AJAX.
Update: ist jetzt integriert und hochgeladen
Ich hoffe das heißt bei allen "WEB"
Anzeige im HTML
<div data-bind="ftui.deviceStates['WEB'].longpoll.val"></div>
Zitat von: setstate am 12 Februar 2017, 14:27:28
wenn du in der fhem.cfg das eingetragen hast "attr WEB longpoll websocket"
musst du "shutdown restart" rufen.
Im FHEMWEB kannst du es adhoc umstellen und es müsste sofort eine Verbindung hergestellt werden
Habe es in FHEM bei web als Attr. gesetzt, wird dort auch so angezeigt
Zitat von: Garbsen am 12 Februar 2017, 14:47:15
Habe es in FHEM bei web als Attr. gesetzt, wird dort auch so angezeigt
Vorsichtshalber trotzdem nochmal Neustart gemacht, ändert aber nichts
Hier einmal der Header meiner Start.html, vielleicht ist da ja etwas anderes falsch
<!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 name="viewport" content="width=device-width, initial-scale=0.75, maximum-scale=1.0, user-scalable=yes" />
<meta name="widget_base_width" content="75">
<meta name="widget_base_height" content="90">
<meta name="widget_margin" content="1">
<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_type" content="websocket">
<!--<meta name="longpoll" content="1">--> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="2"> <!-- 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" />
<link rel="stylesheet" href="/fhem/tablet_eval/lib/openautomation.css" />
<link rel="stylesheet" href="/fhem/tablet_eval/lib/fhemSVG.css" />
<link rel="stylesheet" href="lib/material-icons.min.css" />
<link rel="stylesheet" href="/fhem/tablet_eval/fonts/roman/style.css" />
<link rel="stylesheet" href="/fhem/tablet_eval/fonts/material/style.css" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
<link rel="stylesheet" href="css/fhem-tablet-ui-user.css"/>
<script src="/fhem/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" defer></script>
<!-- Remove this line to enable for usage with WebViewControl
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="../pgm2/cordova-2.3.0.js" defer></script>
<script src="../pgm2/webviewcontrol.js" defer></script>
<!-- End for WebViewControl -->
<title>FHEM-Tablet-UI</title>
</head>
<body>
Bekomme seit dem Update auf 2.6 folgende Fehlermeldung:
Error
fhem-tablet-ui.js:494
TypeError: $(...).gridster is not a function
Habe wie oben beschrieben auf "Websocket" umgestellt und nutze Gridster nicht (Seite basiert auf Flexbox), daher dazu auch keine Angaben im Header.
Zitat von: octek0815 am 12 Februar 2017, 01:31:45
Hi,
die Umstellung hat bis auf eine kleine Verschiebung geklappt, jedoch funktioniert bei einem meiner Tablets Longpol nicht mehr.
Ich habe zwei Tablets, eins mit Android 4.4 und eins mit 6.0. Beim 4.4er wird im Fully Browser klappt Longpol nicht.
Sowohl mit WEB > Longpol 1 oder websockets. Beides klappt nicht. Im normalen Chrome Browser klappt es.
Auf dem 6.0er Tablet ist wiederum alles Ok.
Hat einer ne Idee?
Grüße
Olli
Auf meinem 4.4.2 Android klappt's auch nicht, auf dem Linux-PC testweise alles ok. Vermutlich muss ich jetzt ein neues Tablet kaufen ;) oder :( - kann mich da gerade nicht entscheiden...
Mein Android Tablet kann es auch nicht. Halb so schlimm. Einfach auf die alte Art und Weise umstellen. Ist ja jetzt nicht abrupt etwas schlechtes.
<meta name="longpoll_type" content="ajax">
Zitat von: setstate am 12 Februar 2017, 15:40:02
Mein Android Tablet kann es auch nicht. Halb so schlimm. Einfach auf die alte Art und Weise umstellen. Ist ja jetzt nicht abrupt etwas schlechtes.
<meta name="longpoll_type" content="ajax">
Bei mir die Probleme auf iPad mit neuestem iOS.
Zur Zeit kein Problem, da ich das produktiv System nicht umgestellt habe, daher keine Hetze.
Seltsam ist, dass auch eine 2. Startseite, in der ich longpoll noch nicht auf websocket umgestellt hatte, zeigt unter 2.6 das selbe Verhalten.
Hi,
Zitat von: Brause am 12 Februar 2017, 08:24:45
Jetzt braucht es nur noch eine Lösung für den Proxy, damit der auch websocket-Anfragen weiterleitet.
Bisher schlugen leider alle Versuche fehl.
Ich habe leider nicht aufgepasst, was Du für einen Proxy einsetzt. Ich habe heute für meinen Apache 2.4 folgendes umgesetzt:
<VirtualHost *:80>
ServerName my.server.name
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8083/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8083/$1 [P,L]
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
</VirtualHost>
Hoffe, dass das hilft.
LG
Christian
also auch nach dem Update habe ich das Problem mit dem disconnect. Fhem und FTUI laufen auf einem RaspiPI3. Ebenso die Aktualisierung der Werte funktioniert nur bei einem Seiten Wechsel, F5 oder Browser neu Start Ich nutze zur Zeit IE11 auf Win10. Das Selbe aber auf einem Asus Tablet mit FullyBrowser oder IPad mit letztem IOS....
Aber grundsätzlich klappt alles soweit...denke ich mal..;-)
Gruß
Markus
Hab jetzt auch das Update gemacht. Ein paar kleine Anpassungen waren notwendig, ansonsten läuft alles.
Websocket habe ich auch in Fhem eingeschaltet, auf einem Tablet gab es eine Fehlermeldung und es hat nicht funktioniert, also wieder auf Ajax gestellt und geht. Allerdings zeigt die Toast Meldung beim Neuladen der Seite bei den anderen Tablets immer noch Ajax Longpoll an, obwohl dort jetzt eigentlich websocket laufen sollte. Sonst geht aber alles.
Was bewirkt eigentlich die folgende Zeile in der index.html:
<meta name='gridster_resize' content='0'>
Im Wiki ist das leider nicht dokumentiert.
Habe attr longpoll websocket wieder rausgenommen, da ich auch in der weboberfläche von FHEM durchgängig die Meldung bekommen habe, dass die Connection lost ist.
Nachdem ich das Attr. gelöscht habe, ist die Verbindung wieder stabil
Hallo,
ich habe seit dem letzten Update ein Problem dass die Texte über den Gitterrad gehen und nicht mehr in die mehreren Zeilen.
Wie komme ich es wider hin dass es in mehreren Zeilen angezeigt wird.
Aufgerufen wird es zum Beispiel so:
<li class="semitransparent3d" data-row="1" data-col="5" data-sizex="6" data-sizey="8">
<header class="semitransparentheader">Unwetterzentrale Meldungen</header>
<div data-type="uwz" data-device="UWZ" data-count="9" data-icon="mini" ></div>
</li>
Fehler siehe Anhang.
Gruß Paul
Zitat von: tekniker68 am 12 Februar 2017, 16:41:45
Was bewirkt eigentlich die folgende Zeile in der index.html:
<meta name='gridster_resize' content='0'>
Im Wiki ist das leider nicht dokumentiert.
Dass das Gridster Autoresize aus ist. 1 bedeutet an ( ist der Default, wenn man nichts angibt) Gridster passt sich aber nur an die Bildschirmgröße an, wenn man die Weite und Höhe nicht fest vorgegeben hat.
@paul: im Thread für das uwz_widget gab es ein update für ftui 2.5. Schon installiert? UWZ ist ja kein Teil von ftui.
https://forum.fhem.de/index.php/topic,64334.75.html (https://forum.fhem.de/index.php/topic,64334.75.html) Seite 6.
Hallo zusammen,
hat jemand von Euch zufällig ngnix als webserver laufen und dahinter fhem? Da wäre ich für einen Tipp bzgl. web socket config dankbar.
Zitat von: Wuehler am 12 Februar 2017, 19:30:16
@paul: im Thread für das uwz_widget gab es ein update für ftui 2.5. Schon installiert? UWZ ist ja kein Teil von ftui.
https://forum.fhem.de/index.php/topic,64334.75.html (https://forum.fhem.de/index.php/topic,64334.75.html) Seite 6.
Hallo, das ist mein widget_uwz nicht das von chris1284, ich habe bis jetzt rausgefunden es liegt an der fhem-tablet-ui.css.
So sieht es aus in der 2.5
Gruß Paul
Hallo zusammen,
ich bekomme nach Setzen von "attr WEB longpoll websocket" diese Meldung:
TypeError: ftui.deviceStates.WEB.longpoll is undefined
. Und ich finde kein Mittel, das ganze zu vermeiden...
gruss
Peer
Zitat von: choenig am 12 Februar 2017, 16:03:38
Hi,
Ich habe leider nicht aufgepasst, was Du für einen Proxy einsetzt. Ich habe heute für meinen Apache 2.4 folgendes umgesetzt:
<VirtualHost *:80>
ServerName my.server.name
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8083/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8083/$1 [P,L]
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
</VirtualHost>
Hoffe, dass das hilft.
LG
Christian
Hallo Christian
Bei mir läuft auch ein 2.4 Apache auf ubuntu 16.04 LTS.
so etwas ähnliches hatte ich auch schon probiert.
Habe deine Direktive noch auf https angepasst
Direkt nach apache restart, im FHEMWEB auf websocket umgestellt und Freude keine disconnect Meldung,
nach einem reload der Seite die ernüchterung - "500 Internel Error"
Scheinbar beisst es sich mit einer anderen Direktive.
Muss auch dazu sagen das auf dem NUC auch eine Wordpress-Seite läuft und ich eigentlich den gesamten von extern kommenden Verkehr auf https zwinge.
Aber Danke , einen Versuch war es wert.
Gruss Brause
Hallo setstate,
in einer Doku-Pause ;D habe ich mal eben auf 2.6 geliftet. Von den bisher hier diskutierten Problemen trat bei mir nichts auf. Alles funktioniert. :D
Nur die Anordnung eines ziemlich großen Symbols wurde "angeschossen". Siehe die beiden Bilder, 2.5 und 2.6 im Vergleich.
Das Garagensymbol kratzt jetzt oben und unten die Nachbarn an. Die Garage hat derzeit "top-space-2x". "top-space-3x" verbessert die Situation marginal, ist aber keine Lösung. Scheinbar wird der Header bei der Positionierung ignoriert. Ebenfalls nicht ganz klar ist mir, warum die Überschrift nicht vertikal zentriert in ihrem Feld steht.
Genial ist nach wie vor das Kamerasymbol innerhalb des Garagensymbols. :)
Warum das so ist, habe ich noch nicht verstanden. Aber bitte nicht ändern. ;)
Der Code lautet:
<li data-row="2" data-col="1" data-sizex="3" data-sizey="5">
<header><H1>Garage Nord</H1></header>
<div class="container top-space-2x inline right-space">
<div class="cell inline" data-type="symbol" data-device="Garage_Nord_Status"
data-states='["oben","unten","lauf","angehalten","Fehler"]'
data-icons='["oa-fts_garage_door_10 grande","oa-fts_garage_door_100 grande","fa-cog fa-3x fa-spin","oa-fts_garage_door_40 grande","fa-bug fa-3x"]'
data-colors='["GoldenRod","SeaGreen","Crimson","Crimson","Crimson"]'>
</div>
<div data-type="switch" class="cell large inline" data-device="Garage_Nord_Video_ein_aus" data-icon="oa-it_camera" data-on-color="hsl(50,100%,50%)" data-fhem-cmd='IF ([Garage_Nord_Video_ein_aus:state] eq "off") (set Garage_Nord_Video_ein_aus on-for-timer 20) ELSE (set Garage_Nord_Video_ein_aus off)'></div>
</div>
<div class="top-space-2x">
<div class="hbox">
<div data-type="switch" class="cell large"
data-device="Garage_Nord_Fahrbefehl_auf"
data-icon="fa-chevron-up"
data-on-color="hsl(50,100%,50%)"
data-lock="Garage_Nord_Fahrbefehl_auf_gesperrt:readonly"
data-get-on="on"
data-get-off="off"></div>
<div data-type="link"
data-device="Garage_Nord_Fahrbefehl_Stop"
data-fhem-cmd="set Garage_Nord_Fahrbefehl_Stop_Timer on-for-timer 2;set Garage_Nord_Status angehalten"
data-lock="Garage_Nord_Fahrbefehl_Stop_gesperrt:readonly"
data-background-color="red"
data-width="80" data-height="55"
data-color="white"
data-text-align="center"
class="round big bold">STOP</div>
<div data-type="switch" class="cell large"
data-device="Garage_Nord_Fahrbefehl_ab"
data-icon="fa-chevron-down"
data-on-color="hsl(50,100%,50%)"
data-lock="Garage_Nord_Fahrbefehl_ab_gesperrt:readonly"
data-get-on="on"
data-get-off="off"></div>
</div>
</div>
</li>
Zitat von: paul79 am 12 Februar 2017, 19:36:04
Hallo, das ist mein widget_uwz nicht das von chris1284, ich habe bis jetzt rausgefunden es liegt an der fhem-tablet-ui.css.
So sieht es aus in der 2.5
Gruß Paul
Hallo,
ich habe es gefunden und verstehe nicht wieso man das Verhalten immer wieder ändert. >:(
in der fhem-tablet-ui.css Zeile 312 steht jetzt
[class*=row]{
white-space: nowrap;
}
durch einen Eintrag in der fhem-tablet-ui.user.css ist es wieder normal.
[class*=row]{
white-space: normal;
}
Gruß Paul
Hallo zusammen,
ich habe heute ziemlich problemlos von 2.5 auf 2.6 umgestellt.
2 Probleme bekomme ich nicht gelöst:
1. Websocket:
Läuft auf dem Tablet nicht (Android 5 mit Fully Kiosk Browser o. Firefox), schaltet selbstständig auf AJAX zurück, Anzeige an sich läuft dann aber.
Aufruf über MAC mit Firefox läuft problemlos auf Websocket.
Falls es wichig ist: FHEM ist per HTTPS abgesichert.
2.Pagebutton:
Ich habe eine zweite Seite mit meiner Heizungssteuerung. Diese wird bei Aufruf nicht aktuallisiert (Anzeige komplett mit alten/ohne Daten).
Wenn ich die Seite in Index.html umbenenne und als Startseite nutze läuft alles probemlos.
Das Thema habe ich aber schon seit 2.5...
Benötigt man ggf. einen anderen Header?
Ansonsten: Super Arbeit!
Ich bin für jeden Tip dankbar!
Viele Grüße
Christian
Hallo,
seit dem heutigen update bekomme ich Fehler im IE und Chrom
ZitatSCRIPT5007: Die Eigenschaft "val" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
ftuip (788,9)
Woran liegt es?
Gruß Paul
Guten Abend,
ich hab seit 2.6.1 probleme mit dem Colorwheel, siehe Screenshot.
<li data-row="1" data-col="1" data-sizex="6" data-sizey="7">
<header>LED Streifen</header>
<div data-type="colorwheel"
data-device="WZ_WifiLight"
data-set="RGB"
data-cmd="set"
data-get="RGB"
data-width="400"
class="roundIndicator">
</div>
</li>
Wird so dargestellt
Zitat von: Ulm32b am 12 Februar 2017, 20:10:51
Hallo setstate,
in einer Doku-Pause ;D habe ich mal eben auf 2.6 geliftet. Von den bisher hier diskutierten Problemen trat bei mir nichts auf. Alles funktioniert. :D
Nur die Anordnung eines ziemlich großen Symbols wurde "angeschossen". Siehe die beiden Bilder, 2.5 und 2.6 im Vergleich.
Das Garagensymbol kratzt jetzt oben und unten die Nachbarn an. Die Garage hat derzeit "top-space-2x". "top-space-3x" verbessert die Situation marginal, ist aber keine Lösung. Scheinbar wird der Header bei der Positionierung ignoriert. Ebenfalls nicht ganz klar ist mir, warum die Überschrift nicht vertikal zentriert in ihrem Feld steht.
Genial ist nach wie vor das Kamerasymbol innerhalb des Garagensymbols. :)
Warum das so ist, habe ich noch nicht verstanden. Aber bitte nicht ändern. ;)
Der Code lautet:
<li data-row="2" data-col="1" data-sizex="3" data-sizey="5">
<header><H1>Garage Nord</H1></header>
<div class="container top-space-2x inline right-space">
<div class="cell inline" data-type="symbol" data-device="Garage_Nord_Status"
data-states='["oben","unten","lauf","angehalten","Fehler"]'
data-icons='["oa-fts_garage_door_10 grande","oa-fts_garage_door_100 grande","fa-cog fa-3x fa-spin","oa-fts_garage_door_40 grande","fa-bug fa-3x"]'
data-colors='["GoldenRod","SeaGreen","Crimson","Crimson","Crimson"]'>
</div>
<div data-type="switch" class="cell large inline" data-device="Garage_Nord_Video_ein_aus" data-icon="oa-it_camera" data-on-color="hsl(50,100%,50%)" data-fhem-cmd='IF ([Garage_Nord_Video_ein_aus:state] eq "off") (set Garage_Nord_Video_ein_aus on-for-timer 20) ELSE (set Garage_Nord_Video_ein_aus off)'></div>
</div>
<div class="top-space-2x">
<div class="hbox">
<div data-type="switch" class="cell large"
data-device="Garage_Nord_Fahrbefehl_auf"
data-icon="fa-chevron-up"
data-on-color="hsl(50,100%,50%)"
data-lock="Garage_Nord_Fahrbefehl_auf_gesperrt:readonly"
data-get-on="on"
data-get-off="off"></div>
<div data-type="link"
data-device="Garage_Nord_Fahrbefehl_Stop"
data-fhem-cmd="set Garage_Nord_Fahrbefehl_Stop_Timer on-for-timer 2;set Garage_Nord_Status angehalten"
data-lock="Garage_Nord_Fahrbefehl_Stop_gesperrt:readonly"
data-background-color="red"
data-width="80" data-height="55"
data-color="white"
data-text-align="center"
class="round big bold">STOP</div>
<div data-type="switch" class="cell large"
data-device="Garage_Nord_Fahrbefehl_ab"
data-icon="fa-chevron-down"
data-on-color="hsl(50,100%,50%)"
data-lock="Garage_Nord_Fahrbefehl_ab_gesperrt:readonly"
data-get-on="on"
data-get-off="off"></div>
</div>
</div>
</li>
Ich habe mal deine classes etwas "ausgemistet". Dann sieht es etwas besser aus
<li data-row="2" data-col="1" data-sizex="3" data-sizey="5">
<header>
<H1>Garage Nord</H1>
</header>
<div class="vbox">
<div class="hbox">
<div class="right-space-3x" data-type="symbol" data-device="Garage_Nord_Status" data-states='["oben","unten","lauf","angehalten","Fehler"]' data-icons='["oa-fts_garage_door_10 grande","oa-fts_garage_door_100 grande","fa-cog fa-3x fa-spin","oa-fts_garage_door_40 grande","fa-bug fa-3x"]' data-colors='["GoldenRod","SeaGreen","Crimson","Crimson","Crimson"]'></div>
<div data-type="switch" class="large" data-device="Garage_Nord_Video_ein_aus" data-icon="oa-it_camera" data-on-color="hsl(50,100%,50%)" data-fhem-cmd='IF ([Garage_Nord_Video_ein_aus:state] eq "off") (set Garage_Nord_Video_ein_aus on-for-timer 20) ELSE (set Garage_Nord_Video_ein_aus off)'></div>
</div>
<div class="hbox items-space-around">
<div data-type="switch" class="large" data-device="Garage_Nord_Fahrbefehl_auf" data-icon="fa-chevron-up" data-on-color="hsl(50,100%,50%)" data-lock="Garage_Nord_Fahrbefehl_auf_gesperrt:readonly" data-get-on="on" data-get-off="off"></div>
<div data-type="link" data-device="Garage_Nord_Fahrbefehl_Stop" data-fhem-cmd="set Garage_Nord_Fahrbefehl_Stop_Timer on-for-timer 2;set Garage_Nord_Status angehalten" data-lock="Garage_Nord_Fahrbefehl_Stop_gesperrt:readonly" data-background-color="red" data-width="80" data-height="55" data-color="white" data-text-align="center" class="round big bold">STOP</div>
<div data-type="switch" class="large" data-device="Garage_Nord_Fahrbefehl_ab" data-icon="fa-chevron-down" data-on-color="hsl(50,100%,50%)" data-lock="Garage_Nord_Fahrbefehl_ab_gesperrt:readonly" data-get-on="on" data-get-off="off"></div>
</div>
</div>
</li>
Zitat von: perseusarm am 12 Februar 2017, 23:56:19
Guten Abend,
ich hab seit 2.6.1 probleme mit dem Colorwheel, siehe Screenshot.
<li data-row="1" data-col="1" data-sizex="6" data-sizey="7">
<header>LED Streifen</header>
<div data-type="colorwheel"
data-device="WZ_WifiLight"
data-set="RGB"
data-cmd="set"
data-get="RGB"
data-width="400"
class="roundIndicator">
</div>
</li>
Wird so dargestellt
ist mit Update gefixed
Zitat von: setstate am 13 Februar 2017, 02:16:25
ist mit Update gefixed
Suuuuper, wie schnell die Bugfixes hier kommen :) - mitten in der Nacht.
Vielen Dank für die schnelle Hilfe.
Zitat von: paul79 am 12 Februar 2017, 22:31:06
seit dem heutigen update bekomme ich Fehler im IE und Chrom
Den Fehler mit "Eigenschaft val.." bekomme ich auch auf einem Tablet, wenn ich da von websocket wieder auf Ajax stelle ist der Fehler aber weg. Die gleiche Seite auf einem anderem Tablet läuft aber ohne Fehler, die Toast-Meldung zeigt aber trotzdem Ajax an auch wenn Websocket eingestellt ist. Irgendwie scheint Websocket hier mit keinem Android Tablet zu laufen.
An die "Disconnected from FHEM"-Geplagten: Ich hatte das jetzt gerade merkwürdigerweise auch. Dabei habe ich die letzten Tage viel mit FTUI gemacht und nie Probleme gehabt.
Meine Lösung war, die Seite einfach unter Umgehung eines eventuellen Caches neu zu laden (STRG+F5). Wie man das auf Tablets/Smartphones machen könnte, weiß ich jetzt allerdings auf die Schnelle nicht.
Hallo,
ich habe auch auf 2.6 umgestellt, war kein Problem, danke für die stete Weiterentwicklung, setstate!!
Ein kleines Problem habe ich aber dennoch, ich bekomme dauernd den unten angehängten Error angezeigt, was will der mir sagen?
vg
Marc-Antón
Kann mal jemand mit dem Fehler "...Zeile 791" bitte mal folgendes in der Webconsole in das Direktfenster eingeben und Enter drücken?
ftui.deviceStates['WEB']
Ich brauche den Output, um zu sehen, welche Attribute da sind
Zitat von: setstate am 13 Februar 2017, 10:16:42
Kann mal jemand mit dem Fehler "...Zeile 791" bitte mal folgendes in der Webconsole in das Direktfenster eingeben und Enter drücken?
ftui.deviceStates['WEB']
Ich brauche den Output, um zu sehen, welche Attribute da sind
Hallo setstate, meist du das?
Gruß Paul
Danke, genau das
Mmmm, alle ungültig und longpoll fehlt. Kann es sein, dass ShortPoll abbricht? Haben sich Widget nachdem Refresh aktualisiert? Zum Beispiel: Lampe ist aus > Lampe an > Browser Refresh > ist die Lampe aktuell?
Hallo,
Ich habe ein Tab mit Android 4.4 und eins mit 6.01 sowie PC Windows 10.
Der Fehler kommt bei Android 4.4 und Windows 10 aber nicht bei Android 6.01.
Wenn ich eine Lampe schalte direkt in FHEM dann ändert sich das Widget nur auf dem Android 6.01. Wenn ich es auf dem Android 4.4 schalte ändert sich es auf dem Android 4.4 und Android 6.01 aber nicht auf Windows 10.
Gruß Paul
Hallo setstate,
ich habe ein Problem mit der Anbindung von Webviewcontrol. Wenn ich die UI mit der Version 2.6 laufen lasse kann ich das Tablet nicht per Webviewcontrol steuern.
Ich habe schon versucht im Header wieder diese Zeilen einzufügen:
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
<script type="text/javascript" src="/fhem/pgm2/webviewcontrol.js"></script>
<script type="text/javascript">var wvcDevices = {'*****':'androidTablet'}; var wvcUserCssFile="/fhem/pgm2/webviewcontrol.css"</script>
hat aber leider auch nicht funktioniert. Hast du da eventuell einen Tip?
Geht bei mir folgendermaßen weiterhin
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="../pgm2/cordova-2.3.0.js" defer></script>
<script src="../pgm2/webviewcontrol.js" defer></script>
nein leider auch nicht....
hier mal der komplette Header:
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<script src="js/fhem-tablet-ui.js" defer></script>
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="/fhem/pgm2/cordova-2.3.0.js" defer></script>
<script src="/fhem/pgm2/webviewcontrol.js" defer></script>
<meta name="longpoll_type" content="ajax">
mit der UI Version 2.1 funktioniert es noch... ;)
Was mir auch noch aufgefallen ist, das bei dem Widget Spinner bei einmaligen tippen zwei klicks ausgeführt werden. Sprich wenn ich die Temperatur um 1 Kelvin erhöhen will macht UI zwei Kelvin...ABER..nur wenn ich UI im Webviewcontrol aufrufe.
also wenn ich auf Ajax umstelle habe ich kein disconnect...
Nur dazu habe ich mal zwei Fragen :-)
1. Muss das Attribut für Web dann auch wieder geändert werden oder kann es auf websocket bleiben.
2. Müssen die ganzen Head-Einträge NUR auf der Index.html sein oder auf allen Seiten die per Navigation aufgerufen werden?
Gruß
Markus
Zitat von: setstate am 13 Februar 2017, 10:37:27
Mmmm, alle ungültig und longpoll fehlt.
Hallo, und was kann man da machen?
Gruß Paul
ich habe jetzt mal total neu angefangen mit der 2.6 und bin da nach dem Wiki vorgegangen.
Dazu folgende Fragen.
1. wenn ich dieses so in die index.html eingebe und ich habe oben nichts definiert was die Größe anpasst
<!-- Vorgabe der Anzahl der Spalten und Zeilen -> automatisch auf Bildschirm verteilt -->
<!--meta name="gridster_cols" content="14">
<meta name="gridster_rows" content="10"-->
<!-- Vorgabe der Basis Spalten/Zeilengrösse -> Grid hat eine feste Größe unabhängig der Bildschirmgröße -->
<!--meta name="widget_base_width" content="74">
<meta name="widget_base_height" content="71"-->
index.html
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="9" data-template="menu.html"></li>
</ul>
</div>
</body>
stellt er mir die menu.html über die ganze Seite dar (also von oben bis unten und von links bis rechts)... kann man das irgendwie ändern.?
Man bekommt diese ja kaum zu sehen, weil ja die ganzen Unterseiten danach aufgerufen werden.
Die zweite Frage, ist es möglich eine ständige Menüleiste unten wie einen "footer" zu platzieren, denn mit dat-row und data-col geht das nicht, wenn nicht oben eine der div's mindestens einer bis ganz nach unten geht und diese Leiste runter drückt.
Also rein von der logik her müsste dieses Verhalten doch richtig sein wenn gridster_rows umd gridster_cols auskommentiert sind geht er doch von 1 rows umd 1 cols aus. Oder gibt es da default werte?
Gruß
Markus
auch bei meiner index_mobil.html gibts auf dem iPhone (Safari) die 791-Meldung. Die Status der Geräte werden aber richtig angezeigt..
Hier noch der html-head
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="74">
<meta name="widget_base_height" content="71">
<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="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="css/fhem-mobil-ui.css" />
<link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/jquery.toast.min.css" />
<link rel="stylesheet" href="lib/material-icons.min.css" />
<link rel="stylesheet" href="lib/openautomation.css" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
<link rel="stylesheet" href="css/fhem-mobil-ui-custom.css" />
<link rel="shortcut icon" href="favicon.ico">
<link rel="apple-touch-icon" href="touchico.png">
<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" defer></script>
Update für die 791 Geplagten. Ich habe etwas optimiert.
Zitat von: setstate am 14 Februar 2017, 00:08:22
Update für die 791 Geplagten. Ich habe etwas optimiert.
Hallo, bei mir funktioniert es jetzt.
Danke!
Gruß Paul
Na sehr schön, aber geht auch websocket oder "nur" Ajax?
mit websocket sogar auf Android 4.4 und 6.01 (wenn die Debug Meldung stimmt ;) )
Super! Danke für die Rückmeldung.
Zitat von: setstate am 14 Februar 2017, 00:26:12
Super! Danke für die Rückmeldung.
Bei mir bestehen die Connection Probleme leider weiterhin. Ich befürchte es liegt auch nicht an Tabletui sondern irgendwo in FHEM mit websocket. Denn wenn ich im WEB longpoll auf websocket stelle, bekomme ich schon in der FHEM Oberfläche beständig die Meldung, dass die Connection lost ist.
Hier mal mein List von WEB
Internals:
CONNECTS 186
DEF 8083 global
FD 6
NAME WEB
NR 20
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
JavaScripts codemirror/fhem_codemirror.js
codemirrorParam { "lineWrapping":false }
editConfig 1
menuEntries DOIFtools,/fhem?detail=DOIFtools,CodeImport,/fhem?detail=Import#
In der Hoffnung, dass da irgendwer etwas sehen kann. Das übersteigt leider meine Analyse-Fähigkeiten.
Danke
K-H
Ansonsten sowieso mal großes Lob und Danke an setstate und alle anderen, die hier fleißig entwickeln und die Doku immer mehr verbessern, damit auch die Leute wie ich, die sich auf copy/Paste beschränken, immer bessere Lösungen hinbekommen können
Wenn ich das richtig sehe, dann ist longpoll auf Websocket doch gar nicht aktiv bei dir ?!?
So sieht das bei mir aus:
Internals:
CONNECTS 36
DEF 8083 global
FD 7
NAME WEB
NR 5
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
editConfig 1
longpoll websocket
stylesheetPrefix dark
Zitat von: eazy_isi am 14 Februar 2017, 11:17:45
Wenn ich das richtig sehe, dann ist longpoll auf Websocket doch gar nicht aktiv bei dir ?!?
So sieht das bei mir aus:
Internals:
CONNECTS 36
DEF 8083 global
FD 7
NAME WEB
NR 5
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
editConfig 1
longpoll websocket
stylesheetPrefix dark
:-\
Das war jetzt "ein wenig" blöd von mir, da hatte ich wegen der Probleme erst das attr gelöscht und dann ein List gemacht. Das hilft natürlich nüschts.
Hier das List mit websocket
Internals:
CONNECTS 241
DEF 8083 global
FD 6
NAME WEB
NR 20
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
JavaScripts codemirror/fhem_codemirror.js
codemirrorParam { "lineWrapping":false }
editConfig 1
longpoll websocket
menuEntries DOIFtools,/fhem?detail=DOIFtools,CodeImport,/fhem?detail=Import#
Wo die "codemirror" Einträge herkommen ist mir ehrlich gesagt ebenso unbekannt wie was sie bedeuten.
Da gibt es halt noch ne Menge was ich lernen müsste.
K-H
Bei mir gibt's auch nach dem Update immer noch den js 791 Fehler.
mich stört vielmehr an der 2.6 das wenn ich auf einen Menüpunkt klicke, ewig die ganze Seite flattert und sich aufbaut. Dann kommen unten in dem Bereich wo sich die Menüleiste befindet, laufend dies Meldungen hoch so das ich das Menü in dem Bereich gar nicht bedienen kann...
alles mögliche kommt da hoch von longpoll und refresh usw.
Zitat von: Garbsen am 14 Februar 2017, 11:40:41
Wo die "codemirror" Einträge herkommen ist mir ehrlich gesagt ebenso unbekannt wie was sie bedeuten.
habe ich auch drin, nur etwas anders..!
Internals:
CONNECTS 4749
DEF 8083 global
FD 7
NAME WEB
NR 44
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
CssFiles pgm2/mydarkstyle.css
JavaScripts codemirror/fhem_codemirror.js
codemirrorParam { "lineWrapping":true }
column Unsorted:Zeiten,at,notify,HMLAN,FileLog Info:Plots
confirmDelete 0
editConfig 1
hiddenroom DashboardRoom,GDS Files
iconPath fhemSVG:openautomation:default:weather
longpoll websocket
menuEntries Howto,//www.fhemwiki.de/wiki/Kategorie:HOWTOS,Update Check,/fhem?cmd=update%20check,Update,/fhem?cmd=update,Neustart,/fhem?cmd=shutdown%20restart,FHEM einlesen,/fhem?cmd=rereadcfg,
reverseLogs 1
roomIcons Save.config:edit_save InfoPanel:rc_INFO Automation:status_automatic Wohnzimmer:scene_livingroom Schlafzimmer:scene_sleeping AußenLicht:light_outdoor Obergeschoss:control_building_s_og Kameras:it_camera SqueezeBoxen:audio_sound Benzinpreis:tanken HWR:scene_cubby Logo.8:siemens_logo TV:it_television System:edit_settings Telefon:it_telephone Temperaturen:temp_temperature Plots:time_graph Dashboard:status_standby Logs:edit_paste Intel.NUC:it_server HUEDevice:light_led Timer:time_timer Wettervorhersage:weather_sunrise Unsorted:secur_encoding Everything:control_building_2_s_all Logfile:edit_paste Update.Check:edit_settings Commandref:edit_copy Remote.doc:edit_copy Edit.files:time_note Select.style:control_return Event.monitor:control_home Howto:edit_sort Update:system_fhem_update Neustart:system_fhem_reboot FHEM einlesen:system_backup 9_Test:message_service Kalender:time_calendar DOIF.Labor:message_service
sortRooms Automation Wohnzimmer Schlafzimmer AußenLicht Obergeschoss HWR Logo.8 Kameras Kalender SqueezeBoxen Temperaturen Wettervorhersage Benzinpreis Fernbedienungen Intel.NUC Telefon Logs Plots System HUEDevice DOIF.Labor
stylesheetPrefix dark
Da musst du debug auf 0 setzen, dann kommen auch keine Meldungen.
OK, dass habe ich gemacht... bisher hatte ich da immer "1" drin, aber so schlimm war das nie das es mich gestört hatte ;) na egal, is ja jetzt weg :D
Ok, ich habe mal ein wenig gegoogelt :o
Die codemirror Einträge können eigentlich nichts ausmachen, das ist die Implementierung eines Editors in die Web-Oberfläche.
Außerdem ist mir aufgefallen, dass ich mehrere Fhemweb Devices habe. Jeweils für Zugriff mit PC, Tablet oder iPhone, jeweils andere Ports.
Da ich die TUI-Oberfläche vom iPad aus nutze habe ich den longpoll websocket Eintrag jetzt mal in dem entsprechenden Fhemweb gemacht. Und dort funzt es auch, d.h. Ich habe in Tabletui, über den Port ungerufen keine disconnects mehr, vorher war für die Tabletui Oberfläche vermutlich gar kein websocket installiert.
Allerdings bleibt es dabei, dass sich Safari nach kurzer Zeit verabschiedet und ich die Oberfläche neu starten muss. Letzte Tabletui ist installiert.
Seltsam ist auch, dass ich jetzt in webtablet das Attribut gesetzt habe und wenn ich auf dem iPad die FHEM Oberfläche über den Port aufrufe es auch problemlos ist.
Rufe ich die FHEM Web Oberfläche über einen anderen Port auf und setze dort das longpoll Attr auf websocket, bleibt es bei den Verbindungsabbrüchen in der FHEM Oberfläche.
Das ist mir zu (noch) zu hoch
codemirror hat mit dem fhem Webeditor zutun welchen ich z.B. nutze
Habe mir eine Testumgebung unter ./tablet und eine echte Umgebung unter ./tabletStable geschaffen. Mit "update" wird nur ./tablet upgedatet. Meine Echtumgebung bleibt erhalten.
define TABLETUI1 HTTPSRV Tablet/ ./www/tabletStable Tablet-Ansicht
attr TABLETUI1 room zConfig
attr TABLETUI1 group Web
define TABLETUI2 HTTPSRV Test/ ./www/tablet Tablet-Test
attr TABLETUI2 room zConfig
attr TABLETUI2 group Web
Soweit so gut. Nun ganz mutig "update" eingegeben und alles updaten lassen, "shutdown restart" und das Tablet zur Hand und Spannung:
Nur zwei Labels, die als Klasse "grande bold" definiert waren, musste ich in "grande" umdefinieren. Das war's. Alles andere nach wie vor sauber formattiert. Alles da, wo es stehen soll. Alle Labels werden in den richtigen Farben und Größen angezeigt. Alle Switches funktionieren. Meine "Spezialitäten" werden ordnungsgemäß dargestellt. Sogar die Fernbedienung vom Mediaportal ist nach wie vor sauber aufgebaut und funktioniert inkl. Onkyo Steuerung.
Vielleicht ist ein Grund, dass ich keine Probleme mit dem Update von 2.5 auf 2.6 hatte, dass ich ganz bewusst keine verschachtelten DIVs, sondern alt her gebracht ein paar <table> Tags drin habe.
Auch websocket funktionierte auf Anhieb.
Lieber setstate, super Job! Vielen Dank für Deine Arbeit und Mühen. Der Test ist bei mir nach 20 Min. in Stable übergegangen. Das war jetzt echt easy. Scheint auch etwas flotter zu sein.
Zitat von: grossmaggul am 14 Februar 2017, 14:19:41
Bei mir gibt's auch nach dem Update immer noch den js 791 Fehler.
791 ???
Dann hast du noch eine alte Version.
Aktuell ist auf Zeile 791 das
}
habe grad mal ein update gemacht um an den websocket zu kommen. Natürlich hat es alles zerschossen. Ich kriege haufenweise diese Fehlermeldungen:
me.checkHide is not a function aus Label und Button Plugin. Resultat ist dann wahrscheinlich ein unvollständig geladenes UI was mir die Toaster s. Screenshot wirft
ate Pending Update done in 1
fhem-tablet-ui.js:1557 dynamic load done:lib/fa-multi-button.min.js
fhem-tablet-ui.js:1557 Loaded plugin: famultibutton
fhem-tablet-ui.js:1557 Try to init plugin: switch
widget_famultibutton.js:486 Uncaught TypeError: me.checkHide is not a function
at HTMLDivElement.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/widget_famultibutton.js:486:28)
at Function.each (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:2975)
at m.fn.init.each (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:835)
at Object.update (http://192.168.178.46:8083/fhem/ftui/js/widget_famultibutton.js:459:14)
at Object.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/fhem-tablet-ui.js:1160:40)
at j (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:27295)
at Object.fireWith [as resolveWith] (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:28108)
at Object.e.(anonymous function) [as resolve] (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:29088)
at Object.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/fhem-tablet-ui.js:1169:34)
at j (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:27295)
(anonymous) @ widget_famultibutton.js:486
each @ jquery.min.js:2
each @ jquery.min.js:2
update @ widget_famultibutton.js:459
(anonymous) @ fhem-tablet-ui.js:1160
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
e.(anonymous function) @ jquery.min.js:2
(anonymous) @ fhem-tablet-ui.js:1169
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
e.(anonymous function) @ jquery.min.js:2
script.onload @ fhem-tablet-ui.js:1195
fhem-tablet-ui.js:1557 dynamic load done:lib/fa-multi-button.min.js
fhem-tablet-ui.js:1557 Loaded plugin: famultibutton
fhem-tablet-ui.js:1557 Try to init plugin: symbol
widget_famultibutton.js:486 Uncaught TypeError: me.checkHide is not a function
at HTMLDivElement.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/widget_famultibutton.js:486:28)
at Function.each (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:2975)
at m.fn.init.each (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:835)
at Object.update (http://192.168.178.46:8083/fhem/ftui/js/widget_famultibutton.js:459:14)
at Object.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/fhem-tablet-ui.js:1160:40)
at j (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:27295)
at Object.fireWith [as resolveWith] (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:28108)
at Object.e.(anonymous function) [as resolve] (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:29088)
at Object.<anonymous> (http://192.168.178.46:8083/fhem/ftui/js/fhem-tablet-ui.js:1169:34)
at j (http://192.168.178.46:8083/fhem/pgm2/jquery.min.js:2:27295)
(anonymous) @ widget_famultibutton.js:486
each @ jquery.min.js:2
each @ jquery.min.js:2
update @ widget_famultibutton.js:459
(anonymous) @ fhem-tablet-ui.js:1160
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
e.(anonymous function) @ jquery.min.js:2
(anonymous) @ fhem-tablet-ui.js:1169
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
e.(anonymous function) @ jquery.min.js:2
script.onload @ fhem-tablet-ui.js:1195
fhem-tablet-ui.js:1206 --------- start healthCheck --------------
fhem-tablet-ui.js:1207 now: Tue Feb 14 2017 19:35:19 GMT+0100 (Mitteleuropäische Zeit)
fhem-tablet-ui.js:1208 FTUI version: 2.6.2
fhem-tablet-ui.js:1209 Longpoll: true
fhem-tablet-ui.js:1210 Longpoll type: websocket
fhem-tablet-ui.js:1211 Longpoll objects there: false
fhem-tablet-ui.js:1212 Longpoll curent line: 0
fhem-tablet-ui.js:1213 Longpoll last event before: 17180 Tag(e) 19 Stunde(n) 35 Minute(n) 19 Sekunde(n)
fhem-tablet-ui.js:1214 Longpoll last reading uodate before: 17180 Tag(e) 19 Stunde(n) 35 Minute(n) 19 Sekunde(n)
fhem-tablet-ui.js:1215 Shortpoll interval: 30
fhem-tablet-ui.js:1216 Shortpoll last run before: 17211 Tag(e) 18 Stunde(n) 35 Minute(n) 19 Sekunde(n)
fhem-tablet-ui.js:1217 FHEM dev/par count: 0
fhem-tablet-ui.js:1218 FTUI known devices count: 27
fhem-tablet-ui.js:1219 Page length: 122987
fhem-tablet-ui.js:1220 Widgets count: 118
fhem-tablet-ui.js:1221 --------- end healthCheck ---------------
fhem-tablet-ui.js:1557 No longpoll event since 1484422519.076secondes -> restart polling
fhem-tablet-ui.js:1557 start shortpoll in (ms):1000
fhem-tablet-ui.js:1557 FTUI is online
fhem-tablet-ui.js:1557 start shortpoll
fhem-tablet-ui.js:687 Uncaught TypeError: Cannot read property 'length' of undefined
at Object.shortPoll (fhem-tablet-ui.js:687)
at fhem-tablet-ui.js:656
shortPoll @ fhem-tablet-ui.js:687
(anonymous) @ fhem-tablet-ui.js:656
list WEB
Internals:
CONNECTS 15
DEF 8083 global
FD 6
NAME WEB
NR 10
NTFY_ORDER 50-WEB
PORT 8083
STATE Initialized
TYPE FHEMWEB
Attributes:
JavaScripts codemirror/fhem_codemirror.js
confirmDelete 0
longpoll websocket
stylesheetPrefix dark
index.html
<!DOCTYPE html>
<html>
<head>
<!--
/* FHEM tablet ui */
/*
* Just another dashboard for FHEM
*
* Version: 1.4.4
* Requires: jQuery v1.7+, font-awesome, jquery.gridster, jquery.toast
* URL: https://github.com/knowthelist/fhem-tablet-ui
*
* Copyright (c) 2015 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 tablet_ui HTTPSRV tablet ./www/tablet Tablet Frontend' in fhem.cfg
* - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
*/
-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="118">
<meta name="widget_base_height" content="143">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="longpoll" content="websocket"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="6"> <!-- verbose level 1-6 = output to console;0 = not output -->
<meta http-equiv="Cache-Control" content="no-store" />
<!--
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
-->
<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" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="/fhem/tablet/css/fhem-green-ui.css" / -->
<!--<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-user.css" />-->
<!--
<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>
-->
<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" defer></script>
<!-- Remove this line to enable for usage with WebViewControl
<script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
<script src="/fhem/pgm2/cordova-2.3.0.js" defer></script>
<script src="/fhem/pgm2/webviewcontrol.js" defer></script>
<!-- End for WebViewControl -->
<title>FHEM-Tablet-UI</title>
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<header>Tanken</header>
<!--<div
data-type="symbol"
data-device="dummy1"
data-icons='["fa-arrow-up","fa-arrow-right","fa-arrow-down"]'
data-on-colors='["#32a054","#6666cc","#ad3333"]'
data-get-on='["Wert1","Wert2","Wert3"]'
class="blink">
</div>-->
<div
data-type="label"
class="left small top-space "> Diesel
</div>
<div
data-type="label"
data-device="Jet"
data-get="Diesel"
data-unit=" €"
class="cell big ">Status
</div>
<div
data-type="label"
class="left small "> Super
</div>
<div
data-type="label"
data-device="Jet"
data-get="SuperE5"
data-unit=" €"
class="cell big ">Status
</div>-
</li>
<li data-row="2" data-col="1" data-sizex="1" data-sizey="4">
<header>Wetter</header>
<div
data-type="label"
data-device="OG.te.WE.Temperatur"
data-part="2"
data-limits='[-73,10,23]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit="%B0C%0A"
class="cell big thin top-space">
</div>
<div
data-type="simplechart"
data-device="OG.te.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.te.WE.Temperatur:temperature:::"
data-minvalue="-10"
data-maxvalue="35"
data-height="60"
data-width="90"
class="noticks">
</div>
<div
data-type="label"
data-device="OG.te.WE.Temperatur"
data-part="5"
data-unit="%"
class="cell big thin">
</div>
<div
data-type="simplechart"
data-device="OG.te.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.te.WE.Temperatur:humidity:::"
data-minvalue="0"
data-maxvalue="100"
data-height="60"
data-width="90"
class="noticks">
</div>
<header class="top-space">Heute</header>
<div data-type="popup" data-width="850px" class="inline">
<div
data-type="weather"
data-device="Forecast"
data-get="fc1_condition"
data-imageset="kleinklima"
class="centered">
</div>
<div class="dialog">
<header class="top-space">Wetter Vorhersage</header>
<table>
<tr>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc1_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc1_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc1_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc1_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc1_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc1_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc2_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc2_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc2_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc2_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc2_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc2_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc3_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc3_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc3_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc3_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc3_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc3_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc4_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc4_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc4_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc4_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc4_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc4_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc5_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc5_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc5_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc5_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc5_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc5_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc6_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc6_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc6_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc6_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc6_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc6_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
<td>
<div class="left">
<div data-type="label" data-device="Forecast" data-get="fc7_day_of_week" class="centered large top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc7_date" class="centered small top-space"></div>
<div data-type="weather" data-device="Forecast" data-get="fc7_condition" data-imageset="kleinklima" class="centered top-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc7_condition" class="centered small"></div>
<div class="centered">
<div data-type="label" data-device="Forecast" data-get="fc7_low_c" data-unit="%B0C%0A" class="left large right-space"></div>
<div data-type="label" data-device="Forecast" data-get="fc7_high_c" data-unit="%B0C%0A" class="right large left-space"></div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
<div
data-type="label"
data-device="Forecast"
data-get="fc1_high_c"
data-unit="%B0C%0A"
class="centered large">
</div>
<header class="top-space">Wind</header>
<!-- <div data-type="wind_direction"
data-device="Forecast"
data-direction="wind_direction"
data-speed="wind_speed"
data-calm="-"
data-size="100"
data-tickstep="45"
data-angleoffset="0"
class ="top-space">
</div>
--> </li>
<li data-row="1" data-col="2" data-sizex="2" data-sizey="1">
<header>BAD</header>
<div
data-type="thermostat"
data-device="OG.bz.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="BadFenster"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Fenster
</div>
</div>
</li>
<li data-row="1" data-col="3" data-sizex="2" data-sizey="1">
<header>SCHLAFZIMMER</header>
<div
data-type="thermostat"
data-device="OG.sz.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="OG.sz.TK.Schlafzimmerfenster"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Fenster
</div>
</div>
</li>
<li data-row="1" data-col="6" data-sizex="2" data-sizey="1">
<header>KINDERZIMMER</header>
<div
data-type="thermostat"
data-device="OG.kz.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="OG.kz.TK.Kinderzimmertuer"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Fenster
</div>
</div>
</li>
<li data-row="1" data-col="8" data-sizex="1" data-sizey="2">
<header>TV Küche</header>
<div
data-type="switch"
data-device="ESPEasy_sonoff_9_S_Schalter"
data-icon="fa-television"
class="cell">
</div>
<div
data-type="label"
class="cell">TV
</div>
<div
data-type="switch"
data-device="ESPEasy_sonoff_4_Schalter"
class="cell" >
</div>
<div
data-type="label"
class="cell">Küche LED
</div>
</li>
<li data-row="2" data-col="2" data-sizex="2" data-sizey="1">
<header>KÜCHE</header>
<div
data-type="thermostat"
data-device="OG.ku.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="OG.ku.TK.Terassentuer"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Terrasse
</div>
<div
data-type="symbol"
data-device="OG.ku.TK.Eingangstuer"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Eingang
</div>
</div>
</li>
<li data-row="2" data-col="4" data-sizex="2" data-sizey="1">
<header>WOHNZIMMER</header>
<div
data-type="thermostat"
data-device="OG.wz.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="OG.wz.TK.Wohnzimmerfenster"
data-get-on="Open"
data-get-off="Closed"
data-on-color="#00CED1"
data-get="Window"
class="narrow" >
</div>
<div
data-type="label"
class="narrow darker small">Fenster
</div>
</div>
</li>
<li data-row="2" data-col="6" data-sizex="2" data-sizey="1">
<header>FLUR</header>
<div
data-type="thermostat"
data-device="OG.fl.HZ.Thermostat"
data-valve="actuator_"
class="cell left">
</div>
<div class="cell right">
<div
data-type="symbol"
data-device="OG.wz.TK.Wohnzimmerfenster"
class="narrow">
</div>
<div
data-type="label"
class="narrow darker small">Fenster
</div>
</div>
</li>
<li data-row="4" data-col="2" data-sizex="2" data-sizey="2">
<header>HOMESTATUS</header>
<div
data-type="homestatus"
data-device='rr_Tommy'
data-version=''
data-get-on='["home","asleep","absent","gone"]'
data-alias='["Home","Night","Away","Holiday"]'
data-icons='["fa-home","fa-bed","fa-car","fa-suitcase"]'
class="top-space-2x" >
</div>
</li>
<li data-row="4" data-col="4" data-sizex="2" data-sizey="2">
<header>WOHNZIMMER</header>
<div class="right top-space-2 right-space">
<div class="inline">
<div
data-type="label"
data-device="OG.fl.WE.Temperatur"
data-get="temperature"
data-limits='[-73,19,23]'
data-colors='["#6699FF","#aa6900","#bb6242"]'
data-unit="%B0C%0A"
class="big thin"></div>
<div
data-type="label"
class="cell">Temperatur</div>
</div>
<div class="inline">
<div
data-type="label"
data-device="OG.fl.WE.Temperatur"
data-fix="0"
data-part="5"
data-limits='[0,40,60]'
data-colors='["#bb6242","#aa6900","#bb6242"]'
data-unit="%"
class="big thin"></div>
<div
data-type="label"
class="cell">Luftfeuchte</div>
</div>
<div class="cell">
<div data-type="popup" data-width="450px" class="inline top-space">
<div data-type="simplechart"
data-device="OG.fl.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.fl.WE.Temperatur:temperature:::"
data-minvalue="15"
data-maxvalue="25"
data-height="60"
data-width="90"
class="noticks">
</div>
<div class="dialog">
<header>TEMPERATURE</header>
<div
data-type="simplechart"
data-device="OG.fl.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.fl.WE.Temperatur:temperature:::"
data-minvalue="15"
data-maxvalue="25"
data-yticks="2"
data-height="250">
</div>
</div>
</div>
<div data-type="popup" data-width="450px" class="inline">
<div
data-type="simplechart"
data-device="OG.fl.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.fl.WE.Temperatur:humidity:::"
data-minvalue="0"
data-maxvalue="100"
data-height="60"
data-width="90"
class="noticks">
</div>
<div class="dialog">
<header>HUMIDITY</header>
<div
data-type="simplechart"
data-device="OG.fl.WE.Temperatur"
data-logdevice="logdb"
data-columnspec="OG.fl.WE.Temperatur:humidity:::"
data-minvalue="0"
data-maxvalue="100"
data-yticks="20"
data-height="250">
</div>
</div>
</div>
</div>
</div>
</li>
<li data-row="4" data-col="6" data-sizex="2" data-sizey="2">
<header>LICHTER</header>
<div class="left left-space">
<div data-type="switch" data-device="ESPEasy_sonoff_2_Schalter" class="cell"></div><div data-type="label" class="">Hinterhof</div>
<div data-type="switch" data-device="ESPEasy_sonoff_12_T_Schalter" class="top-space" ></div><div data-type="label" class="">Terrasse</div>
<div data-type="switch" data-device="ESPEasy_sonoff_6_Schalter" class="top-space" ></div><div data-type="label" class="">Bad</div>
</div>
<div class="left ">
<div data-type="switch" data-device="ESPEasy_sonoff_3_Schalter" class="cell"></div><div data-type="label" class="">Hinterhof 2</div>
<div data-type="switch" data-device="ESPEasy_sonoff_8_S_Schalter" class="top-space" ></div><div data-type="label" class="">Terr. LED</div>
<div data-type="switch" data-device="" class="top-space" ></div><div data-type="label" class="">xxx</div>
</div>
<div class="left">
<div data-type="switch" data-device="ESPEasy_sonoff_1_Schalter" class="cell"></div><div data-type="label" class="">Vorderhof</div>
<div data-type="switch" data-device="ESPEasy_sonoff_5_Schalter" class="top-space"></div><div data-type="label" class="">Treppenhaus</div>
<div data-type="switch" data-device="" class="top-space" ></div><div data-type="label" class="">xxx</div>
</div>
</li>
<li data-row="5" data-col="2" data-sizex="2" data-sizey="1">
<header>PV</header>
<div data-type ="symbol"
data-device ="Wechselrichter1"
data-limits='[0,500]'
data-on-colors='["red","green"]'
data-get="FeedIN"
data-icons='["fa-heart","fa-heart blink"]'
data-get-on='["0","2"]'
class="big right"></div>
<div data-type="label"
data-device="Wechselrichter1"
data-get="SPOT_PACTOT"
data-limits='[0,3000,5000]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit=" W Generator"
class="cell big "></div>
<div data-type="label"
data-device="FS20_EVU_Leistung"
data-get="raw"
data-limits='[0,3000,5000]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-unit=" W Verbrauch"
class="cell big ">
</div>
</li>
<li data-row="5" data-col="4" data-sizex="4" data-sizey="1">
<!--<div
data-type="chart"
data-device ="MySHM"
data-logdevice='["logdb","logdb","MySHM"]'
data-columnspec='["MySHM:PV:::","MySHM:TotalConsumption:::","TotalConsumption"]'
data-style='["ftui l0","ftui l2fill", "ftui l0"]'
data-minvalue="auto"
data-maxvalue="auto"
data-height="125"
data-width="450"
class="noticks nobuttons">
</div>-->
<div
data-type="chart"
data-device ="FS20_EVU_Leistung"
data-logdevice='["logdb","logdb","FS20_EVU_Leistung"]'
data-columnspec='["FS20_EVU_Leistung:raw:::","Wechselrichter1:SPOT_PACTOT:::","raw"]'
data-style='["ftui l2fill","ftui l1fill","ftui l1fill"]'
data-minvalue="0"
data-maxvalue="10000"
data-height="125"
data-width="490"
class="nobuttons">
</div>
</li>
<li data-row="3" data-col="8" data-sizex="1" data-sizey="3">
<header>ABFALL</header>
<div class="cell centered">
<div class="centered">
<div
data-type="symbol"
data-background-icon="fa-circle-thin"
data-off-background-color="#7A7A7A"
data-on-background-color="#7A7A7A"
data-device="abfall_GelberSack"
data-off-color="#E6E600"
data-get="alarm"
data-get-on='["off","warn|done","blink"]'
data-icons='["fa-recycle","fa-recycle warn","fa-recycle warn blink"]'
data-fhem-cmd="setreading abfall_GelberSack alarm done"
data-on-colors='["#E6E600","#E6E600","#E6E600"]'
class="big centered ">
</div>
</div>
<div
data-type="label"
data-device="abfall_GelberSack"
class="cell">
</div>
</div>
<div class="centered top-space">
<div
data-type="symbol"
data-background-icon="fa-circle-thin"
data-off-background-color="#7A7A7A"
data-on-background-color="#7A7A7A"
data-device="abfall_Bio"
data-off-color="green"
data-get="alarm"
data-get-on='["off","warn|done","blink"]'
data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
data-fhem-cmd="setreading abfall_Bio alarm done"
data-on-colors='["green","green","green"]'
class="big">
</div>
<div
data-type="label"
data-device="abfall_Bio"
class="cell centered">
</div>
</div>
<div class="centered top-space">
<div
data-type="symbol"
data-background-icon="fa-circle-thin"
data-off-background-color="#7A7A7A"
data-on-background-color="#7A7A7A"
data-device="abfall_Papier"
data-off-color="blue"
data-get="alarm"
data-get-on='["off","warn|done","blink"]'
data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
data-fhem-cmd="setreading abfall_Papier alarm done"
data-on-colors='["blue","blue","blue"]'
class="big">
</div>
<div
data-type="label"
data-device="abfall_Papier"
class="cell centered">
</div>
</div>
<div class="centered top-space">
<div
data-type="symbol"
data-background-icon="fa-circle-thin"
data-off-background-color="#7A7A7A"
data-on-background-color="#7A7A7A"
data-device="abfall_Restmuell"
data-off-color="grey"
data-get="alarm"
data-get-on='["off","warn|done","blink"]'
data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
data-fhem-cmd="setreading abfall_Restmuell alarm done"
data-on-colors='["gray","gray","gray"]'
class="big">
</div>
<div
data-type="label"
data-device="abfall_Restmuell"
class="cell centered">
</div>
</div>
</div>
</li>
</ul>
</div>
</body>
</html>
eventuell Cache löschen ? oder die Pfade im Header überprüfen, ob alles auf die gleiche Stelle zeigen. Nicht, dass alt mit neu gemixt wird.
ich habe meine komplette Index oben noch mit reingekippt. Da ist viel auskommentiert, evtl mal in einen Editor mit highliter kippen. Bis vor dem Update hat die Index so funktioniert. Mein Pfad ist /media/usbdisk/fhem/www/tablet
Cache habe ich im Chrome gelöscht, bringt nichts
Das betrifft alle labels die ein data-device haben. Firefox und chrome bringen dieselben fehler
Hallo Waldmensch,
ich habe mal deine index.html bei mir getestet und oben links beim Tanken meine device eingetragen und es läuft ohne Fehler.
Das einzige was mir aufgefallen ist es heißt glaube ich ="longpoll_type" und nicht mehr nur "longpoll".
<meta name="longpoll_type" content="websocket">
Gruß Paul
kann mein jquery in /pgm2/ zu alt sein? das ist von Februar 2016 (Dateidatum)
Zitat von: Waldmensch am 14 Februar 2017, 20:57:27
kann mein jquery in /pgm2/ zu alt sein? das ist von Februar 2016 (Dateidatum)
bei mir in der jquery steht " jQuery v1.11.2" hast du auch FHEM updatet gemacht?
ja, ich habe ein komplettupdate gemacht. Ich habe jetzt mal aus meinem nächtlichen update den /tablet ordner als /tablet_o ins www verzeichnis kopiert. Also quasi neben den eigentlichen tablet ordner. Wenn ich im ftui define diesen ordner angebe ist alles wieder schick. Der Fehler liegt also in den dateien des /tablet ordners (jquery und alles außerhalb kann ich also ausschließen)
aber im /tablet_o Ordner da ist jetzt nicht das update von Tablet UI drin oder?
Für mich sieht es aus dass nicht alles updatet wurde. Hast du vielleicht etwas in Device global im Attribut exclude_from_update drin stehen?
Guten Morgen zusammen,
ich habe am Samstag direkt das Update auf 2.6 gewagt, und nach dem setzen des WEBSOCKET Attributes in FHEM lief auch alles.
Ich meine sogar etwas flüssiger und schneller.
Seit dem letzten Update bekomme ich aber beim Start immer folgende Meldung:
longpoll (AJAX) started
Anscheinend arbeitet meine FTUI wieder mit AJAX und alles scheint auch irgendwie wieder etwas träger geworden zu sein.
Kann das mit dem automatischen Fallback auf AJAX zusammenhängen, wenn das WEBSOCKET Attribut nicht gefunden wird ?
ich habe zusätzlich noch <meta name="longpoll_type" content="websocket"> in der index.html definiert, aber das ändert auch nichts.
Ist das longpoll Attribute in FHEM immer noch gesetzt (gespeichert)?
Was zeigt die index_state.html bei dir?
Index state kann ich heute mittag erst schauen, der Header meiner index.html sieht folgendermassen aus :
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="gridster_cols" content="20">
<meta name="gridster_rows" content="18">
<meta name='gridster_disable' content='1'>
<meta name='gridster_resize' content='1'>
<meta name="widget_margin" content="0">
<meta name="longpoll" content="1"> <!-- 1=longpoll; 0=shortpoll every 30sec -->
<meta name="longpoll_type" content="websocket">
<meta name="debug" content="6"> <!-- verbose level 1-6 = output to console;0 = not output -->
<meta name="toast" content="1"> <!-- Anzahl der gleichzeitig angezeigten Toast-Messages 0 = Aus -->
<meta http-equiv="Cache-Control" content="no-store" />
<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" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/fhem-tablet-ui-user_tablet.css" />
<link rel="stylesheet" href="lib/openautomation.css" />
<script src="lib/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" defer></script>
nimm mal das raus
<meta name="longpoll" content="1"> <!-- 1=longpoll; 0=shortpoll every 30sec -->
oder so
<meta name="longpoll" content="websocket">
aber nicht beides, bzw. beides auf den gleichen Wert. Ich weiß, verwirrend.
Ich würde gerne die css für sheet/row/cell erweitern um einige zusätzliche Größen, die in der fhem-tablet-ui.css noch fehlen.
( row-80 ist doppelt, dafür fehlt z.B. row-90 )
Dabei ist mir aufgefallen das einige Definitionen "doppelt" sind z.B:
Zeile 378:
.row-1-2,
.row-2-4 {
height: 49.5% !important; }
Zeile 1351:
.row-50,
.row-1-2 {
height: 50%; }
Die zweite Definition bezieht sich ja auf sheet/row/cell, wann greift denn welche ?
Reicht es, wenn ich in meiner user.css nur diese Definition einfüge, oder muss ich die komplette Definition von sheet/row/cell übernehmen ?
Hat sich bzgl. "image" in Kombination mit "data-fhem-cmd" etwas geändert?
Seit 2.5 funktioniert dies nicht mehr bei mir.
Image wird angezeigt, jedoch ist dieser nicht "klickbar".
Nachfolgend mein Code:
<li data-row="3" data-col="5" data-sizex="3" data-sizey="2">
<header>FERNSEHSENDER</header>
<div class="sheet">
<div class="row">
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/WDR.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1551"></div>
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/TLC.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1625"></div>
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/VOX.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1443"></div>
</div>
<div class="row">
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/PRO7.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1461"></div>
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/DMAX_Austria.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1488"></div>
<div data-type="image" data-size="95%" data-url="/fhem/www/tablet/images/logos/RTL2.png" class="cell" data-fhem-cmd="set WZ_Kodi openchannelid 1610"></div>
</div>
</div>
</li>
Danke
Zitat von: paul79 am 14 Februar 2017, 21:36:03
aber im /tablet_o Ordner da ist jetzt nicht das update von Tablet UI drin oder?
Für mich sieht es aus dass nicht alles updatet wurde. Hast du vielleicht etwas in Device global im Attribut exclude_from_update drin stehen?
Ja, das ist der Zustand vor dem Update. Kann ich den kompletten tablet Ordner irgendwo runterladen?
Bei Update Exclude habe ich nur CUL und FS20 drin, weil ich da ein paar Sachen in den Modulen angepasst habe.
Was mir seltsam vorkam, update check hat mir haufenweise Sachen für fhemftui angezeigt aber update fhemftui hat nur "Nothing to do" angezeigt. Deswegen habe ich dann das komplette Update gemacht.
Gesendet von iPhone mit Tapatalk
Ich habe jetzt nochmal ein update über
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
gemacht, nun scheint es zu klappen. Also über das normale FHEM update scheint es irgendwie schiefzugehen, obwohl der git Link mit "update add" schon immer eingepflegt ist. Websocket scheint auch zu laufen. Den Style class="big thin" schein es nicht mehr zu geben, das ist aber nicht so wild, da schau ich mal, wie das jetzt gelöst ist
in der index_state werden keine "Last xxx" Werte angezeigt, ich weiß aber nicht ob das was heißt. Die Oberfläche wird jedenfalls fehlerfrei aktualisiert
"big thin" gibt es noch, ist nur jetzt nur noch so groß wie normales big
Für richtig großes Thin musst du jetzt "great thin" benutzen.
Zitat von: setstate am 15 Februar 2017, 07:01:37
nimm mal das raus
<meta name="longpoll" content="1"> <!-- 1=longpoll; 0=shortpoll every 30sec -->
oder so
<meta name="longpoll" content="websocket">
aber nicht beides, bzw. beides auf den gleichen Wert. Ich weiß, verwirrend.
Hallo,
prima. Damit läuft auch mein Android5-Tablet jetzt per Websocket.
Die Doku hatte ich anders verstanden: Longpoll auf 1 und Logpoll-Typ auf Websocket.
Danke!
VG
Christian
Habs hingekriegt mit "tall thin". Ich habe einfach in die css geschaut und alles durchprobiert, bis es gepasst hat ;)
Nun bin ich mal gespannt, ob der Websocket die Lösung für die Browserabstürze ist. Seltsamerweise ist der alte fully unter Android 4.2 nicht abgestürzt. Er hatte nur probleme beim "blink" style. Habe jetzt Android 5 auf dem Tablet mit dem fully aus dem Playstore. Der ist prompt im Longpoll nach ca 1h wieder abgestürzt. Mit Websocket sieht es momentan gut aus. ;D
Hallo Setstate,
kann ich dich noch einmal wegen dem Webviewcontrol nerven. Ich habe herausgefunden wenn ich statt:
<script src="js/fhem-tablet-ui.js" defer></script>
dies hier in den Header schreibe:
<script src="/fhem/www/pgm2/jquery.min.js" defer></script>
funktioniert zwar die Steuerung über Webviewcontrol , aber die UI baut sich nicht auf... Habe ich da noch etwas übersehen?
Gruß und Danke
die fhem-tablet-ui.js kannst du nicht einfach weglassen.
Ich habe aber auch keine Idee, wo bei dir der Fehler liegt.
Minimaler Header aus der index-example.html mal probiert ???
ja hab ich auch schon... :( geht auch nicht
kann aber nicht zufällig mit den Pfadangaben zusammen hängen?
Es scheint als ob es der Websocket gebracht hat. FTUI läuft seidenweich und der Browser stürzt nicht mehr ab (6h mittlerweile)
@setstate: Good Job - vielen Dank :)
Ich habe gerade index_empty.html kopiert und die neue Datei ohne etwas zu ändern aufgerufen ... es kommt eine Fehlermeldung fhem-table-ui.js 793
Hallo,
Update war bei mir auch ohne Probleme. DANKE!!
Bekomme seit Umstellung auf WEBSOCKET auch keine Disconnect Meldungen mehr.
Das einzige was bei mir gezickt hat, das Umschalten auf einen anderen Pagetab per event.
Musste dem device ein event-on-change geben dann ging auch das wieder. Komisch das er vorher ging ;D
Vielen DANK!
Grüße
Torte
Zitat von: Brause am 12 Februar 2017, 20:00:25
Hallo Christian
Bei mir läuft auch ein 2.4 Apache auf ubuntu 16.04 LTS.
so etwas ähnliches hatte ich auch schon probiert.
Habe deine Direktive noch auf https angepasst
...
Gruss Brause
Hallo Brause,
kannst du mal dein auf https angepasste Proxy Einstellung hier posten ?
Bekomme es leider nicht hin, dass die Seite geladen wird --> 502 Proxy Error
Grüße Wiesel
Hallo,
ich habe noch 2 Probleme mit disconnect.
1. "WebSocket connection to 'ws://192.168.16.11:8085/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON' failed: Invalid frame Header" kommt von Modul Wunderground aber der Entwickler will wohl nicht mehr.
2. WebSocket connection to 'ws://192.168.16.11:8085/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON' failed: Could not decode a text frame as UTF-8.
Wie kann ich beim 2ten herausfinden welches Modul sich da hinter verbirgt oder kann man da etwas ändern vielleicht in Tablet UI beim den Problem 1 und 2?
Gruß Paul
ich habe ewig diese "Disconnected from FHEM" Meldungen... dazu muss ich sagen auf meinem relativ neuen Lenovo Tablet treten diese nicht auf..!
Nur auf meinen beiden Samsung Galaxy Tab 3..! :-\
Hat das noch jemand und wie kann ich diese beseitigen. Die debug Meldungen habe ich schon auf "0"
Hallo zusammen,
ich habe seit ein paar Wochen mal wieder ein Update gemacht und seitdem leider zwei Probleme:
- Bei der Hochkant-Ansicht auf meinem iPhone werden nun die Buttons vom Typ "Switch" nicht mehr angezeigt - der Typ "Multistatebutton" hingegen funktioniert aber noch, auch alle anderen Anzeigeelemente gehen. Und "Switch" wird ebenfalls angezeigt, sobald ich das Handy um 90 Grad drehe. Gibt es dafür eine Erklärung?
- Wenn ich bei einem Label class="inline" setze, ist der danach folgende Text um ein paar Pixel nach oben versetzt, das war vorher nicht der Fall. Hier ein Ausschnitt aus dem Code:
<div data-type="label" data-device="Kinderzimmer_Thermostat" data-get="valveposition" class="inline"></div>
<div class="inline">%</div>
Hier soll also nur das Prozentzeichen direkt hinter dem Wert angezeigt werden. Der gleiche Versatz tritt übrigens auf, wenn man das "%" direkt hinter das Label-DIV schreibt.
Vielen Dank für Eure Hilfe schon mal,
Gruß,
F.
[Edit: longpoll-Problem gelöst, sorry für's zu schnelle Posten]
@setstate:
Habe gerade eine frische FHEM und FTUI Installation gemacht. Und zwar genau so, wie hier (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Installation) beschreiben. Ansonsten keinerlei Änderungen, außer, dass ich einen Dummy angelegt habe.
Kann mit der Installation die "Disconnected from FHEM"-Probleme nachvollziehen. Und zwar mit FHEMWEB longpoll websocket (oft) und ajax (weniger oft). Meine index.html ist die Original index-example.html. Und wie's scheint, ändern auch META Einträge bzgl. longpoll_type nichts an der Tatsache.
Ich häng mal ein Screenshot der FF Console an. Wenn ich dir sonst noch Infos liefern kann, meld dich einfach.
@drhirn
Probier mal "longpoll" anstelle von "longpoll_type" .... so funktioniert's bei mir zumindest ... habe heute ein Update gemacht.
Was von den beiden richtig ist, kann ich dir allerdings nicht sagen, da setstate anfangs "longpoll_type" angegeben hatte, neuerdings nur noch "longpoll".
Hallo setstate,
wollte mich nur noch einmal zurückmelden da ich den Fehler gefunden habe. Es lag am Copy Paste von mir...
bei mir ist das Webviewcontrol Modul als "androidTablet" definiert und nicht als " Tablet"
<script defer>var wvcDevices = {'12345': 'androidTablet'}
Jetzt funktioniert es auch mit FTUI 2.6 :)
Zitat von: n4rrOx am 16 Februar 2017, 14:51:02
Probier mal "longpoll" anstelle von "longpoll_type" .... so funktioniert's bei mir zumindest ...
Schon. Aber dann wird Ajax verwendet.
Zwar ohne Fehler, aber wollen tun wir doch trotzdem Websockets ;)
Zitat von: drhirn am 16 Februar 2017, 17:10:57
Schon. Aber dann wird Ajax verwendet. Zwar ohne Fehler, aber wollen tun wir doch trotzdem Websockets ;)
Ich denke das war so gemeint: https://forum.fhem.de/index.php/topic,66879.msg585355.html#msg585355 (https://forum.fhem.de/index.php/topic,66879.msg585355.html#msg585355)
Paul
Hab eh nur jeweils eine Variante aktiv.
Mir geht's jetzt aber weniger darum, das Problem in meiner Testumgebung zu lösen. Vielmehr darum, Informationen für setstate zu liefern.
Und eine Variante zu finden, die ich auch guten Gewissens im Wiki dokumentieren kann.
Danke euch trotzdem für die Bemühungen!
Zitat von: moonsorrox am 16 Februar 2017, 12:26:20
ich habe ewig diese "Disconnected from FHEM" Meldungen... dazu muss ich sagen auf meinem relativ neuen Lenovo Tablet treten diese nicht auf..!
Nur auf meinen beiden Samsung Galaxy Tab 3..! :-\
Hat das noch jemand und wie kann ich diese beseitigen. Die debug Meldungen habe ich schon auf "0"
kann ich so bestätigen auf "älteren" mobilen Geräten kommen diese Meldungen "Disconnected from FHEM".
eine Lösung zur Beseitigung habe ich leider nicht gefunden.
Auf nem 5er Android mit Fully - keine Probleme
Gesendet von iPhone mit Tapatalk
Auf meinem iPhone SE musste ich longpoll von websocket auf 1 setzen, um die Fehlermeldungen zu vermeiden...
Hallo Zusammen,
ich würde gerne die FTUI auslagern und mit lighttpd laufen lassen. Geht das überhaupt und hat jemand das bereits am laufen?
gruss
lewej
Zitat von: drhirn am 16 Februar 2017, 17:10:57
Schon. Aber dann wird Ajax verwendet. Zwar ohne Fehler, aber wollen tun wir doch trotzdem Websockets ;)
War genau so gemeint, wie Paul es angemerkt hat:
<meta name="longpoll" content="websocket">
Bei mir funktioniert FTUI mit dem gestrigen Update und der Angabe ohne irgendwelche Fehlermeldungen oder Disconnects.
Websocket ist ebenfalls aktiv, siehe Anhang.
Bei mir leider auch so nicht
Zitat von: freetz am 16 Februar 2017, 20:34:11
Auf meinem iPhone SE musste ich longpoll von websocket auf 1 setzen, um die Fehlermeldungen zu vermeiden...
longpoll sieht so aus... wie sieht es bei dir aus.? Wo soll da die "1" hin
<meta name="longpoll_type" content="websocket">
Bei der Webseite für den Browser habe ich
<meta name="longpoll" content="websocket">
stehen - damit bekomme ich auch das Popup "Longpoll (Websocket) started".
Wenn ich das gleiche auf dem iPhone aufrufe, bekomme ich die Disconnect-Probleme. Erst wenn ich dann von "websocket" auf "1" wechsle (also AJAX), geht es wieder.
longpoll und longpoll_type sollen übrigens beides möglich sein. Im Übrigen bleibt das Problem auch, wenn ich letztere Schreibweise verwende.
Vielleicht ein Problem von IOS und Safari? Auf meinem iPhone 6 kommt sowas. Auf meinem Android 5 mit Fully habe ich das nicht
Genau so sieht es bei mir auch aus, vermutlich iOS-spezifisch, dennoch ein Problem...
Zitat von: choenig am 12 Februar 2017, 16:03:38
Hi,
Ich habe leider nicht aufgepasst, was Du für einen Proxy einsetzt. Ich habe heute für meinen Apache 2.4 folgendes umgesetzt:
<VirtualHost *:80>
ServerName my.server.name
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8083/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:8083/$1 [P,L]
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
</VirtualHost>
Mhh bei mit leider nicht. Ich sehe immer noch die Meldung mit den 5 Sekunden reconnect. Aber ich benutze auch ssl, kann das ein Problem sein?
Intern im Netz geht es mit Fully und Android 4.4.2 gut. Aber ,nach außen nutze ich den Apache Proxy wegen SSL und dort kommen diese Fehler auf der normalen FHEM GUI.
Also ich habe ein Android Gerät (CUBE Talk9x -u65gt) und benutze Fully
Also ich hab die Disconnect-Meldungen eigentlich auf allen Geräten:
Firefox am PC
Firefox auf Android
Fully auf Android
Chromium am RasPi
Bei allen kommen früher oder später die Disconnect-Meldungen, aber die Toasties kann man ja leicht abstellen.
Was man nicht sieht ist bekanntlich ja auch nicht da ;)
Mhh ich hab jetzt nochmal geschaut, bei mir steht immer "Longpoll (AJAX) started" da obwohl Das WEB Interface und die TabletUI META Tags auf websocket stehen, das soll vermutlich auch nicht so sein. (Und ja ich habe dem Cache gelöscht ;-) )
Ahh OK: longpoll: websockets not supportetd or not activated > fall back to AJAX
Kann das Chrome nicht ?!?
Zitat von: freetz am 17 Februar 2017, 16:16:41
Genau so sieht es bei mir auch aus, vermutlich iOS-spezifisch, dennoch ein Problem...
nein, nicht iOS spezifisch...!
Ich habe zwei Samsung Galaxy Tablets 3 die haben diese Anzeigen auch, weil sie wohl eine ältere Android Version nämlich 4.4 KitKat haben.
Mein relativ neues Lenovo Tab2 A10-30 hat diese Meldungen nicht, weil Android 5.1 Lollipop MR1.
Also da muss generell mit eben iOS oder auch ältere Android irgend etwas sein...!
Zitat von: tomster am 17 Februar 2017, 16:50:35
Bei allen kommen früher oder später die Disconnect-Meldungen, aber die Toasties kann man ja leicht abstellen.
Was man nicht sieht ist bekanntlich ja auch nicht da ;)
meinst du mit debug "0" das habe ich z.B. schon aber die Meldungen kommen trotzdem ;)
Das möchte ich auch ;) Wo bekomme ich es? Ist das selbst gebaut oder ein Plugin
das ist index_state.html und steht da, wo auch dein index.html steht
Mir scheint, dass Websocket nur funktioniert, wenn in FHEM das FHEMWEB Device "WEB" heißt. Bei mir hieß es "WEBtest" und dann erhalte ich diese Meldung:
ZitatUncaught TypeError: Cannot read property 'val' of undefined
at Object.longPoll (fhem-tablet-ui.js:795)
at fhem-tablet-ui.js:665
Wenn ich es in WEB umbenenne funktioniert es.
Kann es sein, dass der Device-Name in Zeile 795 hart codiert ist?
if ('WebSocket' in window &&
ftui.config.longPollType === 'websocket' &&
ftui.isValid(ftui.deviceStates['WEB'].longpoll.val) &&
ftui.deviceStates['WEB'].longpoll.val === 'websocket') {
Ach man... ich habe ein update von FHEM gemacht. FTUI hänget da dran. Nun sind meien Symbole RIESIG Siehe Bilder.
Was muss ich machen das das wieder passt??
Das ist der Code für die Restmülltonne:
<tr>
<td><div data-type="label" class="large thin">Restmülltonne</div></td>
<td>
<div data-type="symbol"
data-background-icon="none"
data-device="myAbfall"
data-get="Kalender_FHEM_Restmuelltonne_tage"
data-off-color="#606060"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'
data-on-colors='["#505050","#505050","#505050"]'
class="bigger">
</div>
</td>
</tr>
Den Gedanken hatte ich vorhin auch. Bei dem default WEB gab's Fehler bei den anderen wurde es ignoriert. Und es ist ja auch reproduzierbar, also das scheint wirklich ein Bug zu sein.
Zitat von: All-Ex am 17 Februar 2017, 19:42:42
Mir scheint, dass Websocket nur funktioniert, wenn in FHEM das FHEMWEB Device "WEB" heißt. Bei mir hieß es "WEBtest" und dann erhalte ich diese Meldung:Wenn ich es in WEB umbenenne funktioniert es.
Kann es sein, dass der Device-Name in Zeile 795 hart codiert ist?
Zitat von: HoTi am 17 Februar 2017, 20:57:00
Ach man... ich habe ein update von FHEM gemacht. FTUI hänget da dran. Nun sind meien Symbole RIESIG Siehe Bilder.
Was muss ich machen das das wieder passt??
Das ist der Code für die Restmülltonne:
Hallo, das kommt von der 2.5 da gab es andere Größen. Du musst das bigger ändern.
https://forum.fhem.de/index.php/topic,65604.0.html
Gruß Paul
Hallo,
"Disconnect from FHEM" habe ich bei meinem Windows Tablet und auch Android Geräten.
Dazu kommt noch ein merkwürdiges Verhalten. Per PageTab schalte ich zwischen #index.html, #wetter.html und #rollosettings.html. Der Aufbau der Widgets dauert (vorallem beim AndroidTablet) sehr lange. Teilweise mit überlagerten Widgets. Nach einem Aktualisieren der Seite gehts dann. Die anderen beiden Seiten werden immer ordentlich und sehr schnell dargestellt und aufgebaut. Auch werden Änderungen der Devices bei den beiden "Unterseiten" immer erfasst. Bei der index.html ist das nicht immer der Fall. Ich verwende dort Fully Kiosk Browser
Beim WindowsTablet geht alles schneller. Trotzdem dauert im Verhältnis die index.html länger im Aufbau.
Den Header habe ich nur in der index.html. Ich hab auch nicht den minimalistischen Header, ich hab dort sehr viel drin stehen. Kann das zu hohen Ladezeiten führen?
Longpoll läuft als websocket. Eine Änderung von longpoll_type auf longpoll hatte keinen Effekt.
Ist das bei euch auch so?
Zitat von: paul79 am 17 Februar 2017, 21:23:23
Hallo, das kommt von der 2.5 da gab es andere Größen. Du musst das bigger ändern.
https://forum.fhem.de/index.php/topic,65604.0.html
Gruß Paul
Super Vielen Dank Paul!!!
Seit der Version 2.6 muss unter fhemweb_url die komplette URL angegeben werden, sonst funktioniert die Websocket Verbindung nicht.
Fehlermeldung in der Chrome Konsole:
Uncaught DOMException: Failed to construct 'WebSocket': The URL '/fhem?XHR=1&inform=type=status;filter=.*;fmt=JSON' is invalid.
at WrappedWebSocket (<anonymous>:35:21)
at Object.longPoll (https://mein.dynvpn.de:8443/ftui/js/fhem-tablet-ui.js:815:30)
at https://mein.dynvpn.de:8443/ftui/js/fhem-tablet-ui.js:670:18
In meinem Fall wird:
/fhem">
zu
<meta name="fhemweb_url" content="https://mein.dynvpn.de:8443/fhem">
@setstate: könntest du noch einbauen das die URL, welche in fhemweb_url steht mit dem Präfix vervollständigt wird. Bei den Ajax Verbindungen klappt das ja auch irgendwie.
Die Datei slideout.min.js wird noch absolut zur HTML Datei im Ordner lib gesucht und nicht relativ zur fhem-tablet-ui.js.
Ich vermute in der widget_slideout.js muss Zeile 13 noch von
return ["lib/slideout.min.js"];
auf
return [ftui.config.basedir + "lib/slideout.min.js"];
geändert werden.
Hallo,
eine doofe Frage bei der Version 2.4 Funktioniert das Popup widget mit onclick="$('.dialog-close').trigger('click');"
bei der aktuellen Version geht es nicht mehr auf Smartphone, Tablet mit Firefox und Fully Browser. was könnte die Ursache sein?
ich meinte 2.2 funktioniert es ab 2.4 nicht mehr
Grüße Markus
Moin,
folgendes Problem:
wenn ich
attr WEB longpoll websocket
setze dann kann ich im Event-Monitor keinen Filter mehr setzen!
Beim setzen des Filters und bestätigen mit "OK" erhalte ich die Fehlermeldung:
console.js line 81:
Syntax Error (DOM Exception 12): The string did not match the expected pattern.
Nehme ich das Attribut wieder heraus und starte neu dann geht wieder alles.
Ansonsten läuft FHEM + FTUI mit aktiviertem Attribut ohne Probleme.
FHEM + FTUI sind auf dem aktuellsten Stand von heute.
grtz
CmdA
Hallo,
v2.6.3 eingespielt, cache gelöscht, bei knob werden die classes für die größen nicht verarbeitet. Alles wird als normal angezeigt egal ob mini oder big z.B.
Gruß
Eisix
Zitat von: Eisix am 19 Februar 2017, 11:10:56
Hallo,
v2.6.3 eingespielt, cache gelöscht, bei knob werden die classes für die größen nicht verarbeitet. Alles wird als normal angezeigt egal ob mini oder big z.B.
Gruß
Eisix
Hallo, habe ich auch festgestellt.
Gruß Paul
Zitat von: MarkusHiba am 19 Februar 2017, 01:22:10
eine doofe Frage bei der Version 2.4 Funktioniert das Popup widget mit onclick="$('.dialog-close').trigger('click');"
bei der aktuellen Version geht es nicht mehr auf Smartphone, Tablet mit Firefox und Fully Browser. was könnte die Ursache sein?
Habe auch Probleme beim Popup allerdings bzgl. ID. Ich habe einige Seiten mit sehr vielen Popups. Da wird das Schliessen dann sehr träge. Deshalb möchte ich gern mit ID arbeiten.
Beispiel 2 schliesst das Popup aber Beispiel 1 mit ID nicht. FTUI 2.6.2
<div data-type="popup" id="popup_1" data-height="200px" data-width="300px">
<div data-type="push" data-icon="">1</div>
<div class="dialog"><div>Test 1</div><br>
<div data-type="button" data-fhem-cmd="set HandyNickel ttsmsg Test" onclick="$('#popup_1 .dialog-close').trigger('click');"></div>
</div>
</div>
<div data-type="popup" id="popup_1" data-height="200px" data-width="300px">
<div data-type="push" data-icon="">2</div>
<div class="dialog"><div>Test 2</div><br>
<div data-type="button" data-fhem-cmd="set HandyNickel ttsmsg Test" onclick="$(' .dialog-close').trigger('click');"></div>
</div>
</div>
https://forum.fhem.de/index.php/topic,66243.msg581571.html#msg581571
Zitat von: setstate am 11 Februar 2017, 14:59:21
Achtung! Hier kommt wieder ein Update zum ;D "Zerschießen" ;D eurer Oberflächen
Also: Bitte nicht sofort auf im Alltag genutzte Systeme ungetestet ausrollen.
Neu:
- Longpoll: WebSocket als Standard, AJAX als Fallback oder per meta setting auswählbar
Ihr müsst im FHEM websocket anschalten
attr WEB longpoll websocket
- Flexible Base Directory Ermittlung wieder eingebaut. War mit 2.5.1 entfernt worden.
Damit kann man jetzt wieder seine HTML Seiten in Unterordner stecken und über die Angabe der fhem-tablet-ui.min.js bzw. fhem-tablet-ui.js im Header wird das Basisverzeichnis ermittelt.
- Per data-bind kann man jetzt auch auf interne FTUi-Variablen zugreifen, um deren Inhalt in der Oberfläche darzustellen.
Siehe index_state.html in examples
- einige wenige CSS Änderungen
zum Beispiel anstatt "bigger thin" für Labels muss man jetzt "great thin" benutzen, um das gleiche Ergebnis zu erzielen. "bigger" ist 200%, "great" ist 450%
<div class="cell">
<div class="bigger line-normal">FTUI</div>
<div class="" data-bind="ftui.version"></div>
</div>
Hi setstate,
würde es dir eigentlich etwas ausmachen, wenn du neue minor / major Versionen von FTUI rausbringst, hierfür immer einen neuen Branch anzulegen?
Vorteil wäre es müssen nicht alle aktualisieren, wenn sie das nicht wirklich wollen, sofern sie FTUI mit update add in den normalen Update Prozess von FHEM eingeklinkt haben, des Weiteren können ja dann Tester mit der neuen URL auf das Control File, die neue Version schon testen.
Also als Beispiel:
FTUI 2.5.x -> Branch ftui_2.5
FTUI 2.6.x -> Branch ftui_2.6
Zumindestens dann solange den alten Branch da lassen, bis zum Beispiel 2.7 erscheint, dann würde ich 2.5 auslaufen lassen.
Bzgl. Support soll das natürlich nicht heißen, dass alle alten Versionen bis in alle Ewigkeiten
witer mit Bugfixes versorgt werden, ich würde es eher als Einfrieren sehen, jetzt kommt neue Version und an der alten wird nix mehr gemacht.
Ansonsten vielen Dank für deine unermüdliche Arbeit.
Gruß Constantin
Hallo,
das meteogram scheint in der Version 2.6 nicht mehr zu funktionieren. Hier erscheint eine leere Seite:
<div data-type="popup" data-height="360px" data-width="890px" class="">
<div data-type="switch" class="cell small" data-icon="fa-line-chart"></div><div data-type="label" class="cell darker">Meteogram</div>
<div class="dialog phone-width">
<div class="center">
<div id="container" data-type="meteogram" data-title="" data-location="Tyskland/Baden-Württemberg/XXXXX" data-device="dummy" style="width: 720px; height: 279px; margin: 0 0"></div>
</div>
</div>
</div>
Bei den Pagebuttons fehlt immer an den gleichen Stellen der graue Hintergrund im Menü, siehe Screenshot. Die Angabe von data-background-icon="fa-circle" bringt aber auch keine Änderung
<header>Menü</header>
<div data-type="circlemenu" data-direction="right-half" data-circle-radius="80" class="top-space-3x circlemenu">
<ul>
<li><div data-type="symbol" data-icon="fa-mixcloud" data-on-background-color="#aa6900" data-off-background-color="#505050" data-on-color="#2A2A2A" data-off-color="#2A2A2A" data-background-icon="fa-circle" class="normal"></div></li></li>
<li><div id="wetter_vorhersage" data-type="pagebutton" data-on-background-color="#aa6900)" data-url="index_weather.html" data-icon="oa-weather_cloudy" data-on-color="#2A2A2A"></div></li>
<li><div id="wetter_pollen" data-type="pagebutton" data-on-background-color="#aa6900" data-url="index_pollen.html" data-icon="oa-weather_pollen" data-on-color="#2A2A2A"> </div></li>
<li><div id="wetter_statistik" data-type="pagebutton" data-on-background-color="#aa6900" data-url="index_weatherstatistik.html" data-icon="oa-weather_station" data-on-color="#2A2A2A"></div ></li>
</ul>
</div>
</div><div class="cell darker">Wetter</div>
<div data-type="circlemenu" data-direction="right-half" data-circle-radius="80" class="top-space-2x circlemenu">
<ul>
<li><div data-type="symbol" data-icon="oa-sani_heating" data-on-background-color="#aa6900" data-off-background-color="#505050" data-on-color="#2A2A2A" data-off-color="#2A2A2A" data-background-icon="fa-circle" class="normal"></div></li></li>
<li><div id="heizung1" data-type="pagebutton" data-on-background-color="#aa6900" data-url="index_heizung.html" data-icon="oa-sani_heating_automatic" data-on-color="#2A2A2A"> </div></li>
<li><div id="heizung2" data-type="pagebutton" data-on-background-color="#aa6900" data-url="index_heizung2.html" data-icon="oa-temp_inside" data-on-color="#2A2A2A"></div></li>
<li><div id="heizung3" data-type="pagebutton" data-on-background-color="#aa6900" data-url="index_heizung3.html" data-icon="oa-temp_inside" data-on-color="#2A2A2A"></div></li>
</ul>
</div>
</div><div class="cell darker">Heizung</div>
<div data-type="pagebutton" data-color="#aa6900" data-url="index_strom.html" data-icon="oa-measure_power_meter" class="top-space-2x normal"></div>
<div class="cell darker">Strom</div>
<div data-type="pagebutton" data-color="#aa6900" data-url="index_system.html" data-icon="fa-linux" class="top-space-2x normal"></div>
<div class="cell darker">System</div>
Bezüglich der vielkritisierten Updates:
Ich habe die Beiträge zu 2.4, 2.5 und 2.6 nun die ganze Zeit verfolgt und wollte mal meine zwei Cent loswerden:
Ich habe jetzt 3 Tablet -UI Instanzen:
- tablet: (QA) das ist der Defaultordner wo die normalen
Updates reinlaufen, hier liegen keine eigenen html-Dateien - tablet-test: hier habe ich meine html-Dateien liegen und sehe nach dem kopieren der Dateien nach einem Update, ob mein UI zuschossen ist. Hier nehme ich auch die notwendigen Anpassungen an den html-Dateien vor
- tablet-prod: das ist mein Produktivsystem, hierhin kopiere ich alle angepassten html-Dateien aus tablet-test, wenn wieder alles passt
So umgeht man recht simpel einem versehentlichem "Zerschießen" seiner Liveumgebung.
Ich denke man sollte nicht zu viel von Leuten verlangen, die das hier alles in der eigenen Freizeit entwickeln und dann
kostenlos für die breite Masse auch noch zur Verfügung stellen (Sonst könnte die Updatequelle ja auch irgendwann mal versiegen). Man sollte halt auch mal selber schauen, was man machen kann, damit man die individuellen und umfangreichen Anpassungen vor einem Update sichert (Ist bei eigenständigem Customizing bei kostenpflichtiger Software nicht anders).
Daher an dieser Stelle nochmals einen fetten Dank an Setstate für deine unermüdliche Arbeit und den Support. Mach bitte weiter so!!!
Gruß
Thorsten
Hallo Thorsten,
kannst du mal den header deiner Dateien posten bzw. mehr Details nennen, wie das im Detail funktioniert.
Danke.
Viele Grüsse
Marcus
Ich habe es eigentlich nur so gemacht, wie in der index-exampel.html mit der damaligen eval Version beschrieben ist und unter fhem/www/ mehrere Ordner analog meinem Post gemacht. Es wird halt immer nur der Ordner /tablet beim normalen github-Update berücksichtigt.
Mehr hab ich auch nicht gemacht oder abgesichert, bin auch kein wirklicher Techy.
Pagebuttons verhalten sich in der 2.6 anders, gehen aber. Problem behoben nachdem ich mal in die Doku gesehen habe ;-)
<div data-type="pagebutton"
data-url="index_pollen.html"
data-active-pattern=".*index_pollen.html"
data-icon = "oa-weather_pollen"
data-background-icon="fa-circle"
data-on-color="#2A2A2A"
data-on-background-color="#aa6900"
data-off-color="#2A2A2A"
data-off-background-color="#505050"
class="normal">
</div>
<div class="cell darker">Pollen</div>
Moin, nach dem FHEM Update heute bekomme ich immer rote Meldungen: ShortPoll Request failes, parse error siehe Anhang
Hab leider gerade das gleiche Problem. Jemand eine Idee?
in den Index Datei habe ich:
<meta name="longpoll_type" content="websocket">
und in FHEM
attr WEB longpoll websocket
muss mich leider anschließen. Irgendetwas passt zwischen TabletUI und FHEM 5.8 nicht zusammen.
Hier meine Definitionen:
define WEBtablet FHEMWEB 8084 global
attr WEBtablet JavaScripts codemirror/fhem_codemirror.js
attr WEBtablet codemirrorParam {"theme":"blackboard", "lineNumbers":true}
attr WEBtablet editConfig 0
attr WEBtablet endPlotNow 1
attr WEBtablet longpoll websocket
attr WEBtablet group Web
attr WEBtablet room zConfig
attr WEBtablet stylesheetPrefix darktouchpad
define WEBtablet_allowed allowed
attr WEBtablet_allowed allowedCommands get,set,jsonlist2
attr WEBtablet_allowed group Web
attr WEBtablet_allowed room zConfig
attr WEBtablet_allowed validFor WEBtablet
attr WEBtablet_allowed basicAuth [my_Auth]
define TABLETUI1 HTTPSRV FTUI/ ./www/tabletStable Tablet-Ansicht
attr TABLETUI1 room zConfig
attr TABLETUI1 group Web
define TABLETUI2 HTTPSRV FTUI_Dev/ ./www/tablet Tablet-Test
attr TABLETUI2 room zConfig
attr TABLETUI2 group Web
Funktioniert in beiden Umgebungen nicht mehr. Also liegt die Vermutung bei FHEM Update auf V5.8.
Geht bis jetzt nur, wenn das Device genau "WEB" heißt. Wusste nicht, das ihr fleißig umbenennt.
Muss ich nochmal überarbeiten...
Mein device heißt genau WEB
Internals: CONNECTS 381 CSRFTOKEN fhem_447816549692733 DEF 8083 global FD 6 NAME WEB NR 5 NTFY_ORDER 50-WEB PORT 8083 STATE Initialized TYPE FHEMWEB Attributes: JavaScripts codemirror/fhem_codemirror.js editConfig 1 longpoll websocket menuEntries rereadcfg,cmd=rereadcfg,restart,cmd=shutdown+restart,update,cmd=update,updatecheck,cmd=update+check,backup,cmd=backup, plotEmbed 0 sortRooms Wohnzimmer Kinderzimmer Schlafzimmer Küche Bad Pflanzen Tanken LEDs CUL Homematic MySensors Presence System stylesheetPrefix darktouchpad
Hab an den "default" Devices nichts geändert.
Seit Feature Level 5.8 wird an die URL hinten ein csrfToken angehängt.
Details gibt es unter Neuigkeiten zu lesen.
FTUI kann das csrfToken vermutlich noch nicht verarbeiten.
Als vorübergehende Lösung kannst du das Attribut csrfToken deiner FHEMWEB Instanz auf none setzen.
Zitat von: klausw am 20 Februar 2017, 12:43:00
Seit Feature Level 5.8 wird an die URL hinten ein csrfToken angehängt.
Details gibt es unter Neuigkeiten zu lesen.
FTUI kann das csrfToken vermutlich noch nicht verarbeiten.
Als vorübergehende Lösung kannst du das Attribut csrfToken deiner FHEMWEB Instanz auf none setzen.
Vielen Dank. Das hilft mir zumindest für den Moment.
Jetzt gibt es nur noch:
Try to reconnect in 10 seconds.
Was sagt die Webconsole über den re-connect Grund?
Vielen Dank für die schnelle Hilfe. Funktioniert. Eine reconnect Meldung habe ich nicht.
Zitat von: setstate am 20 Februar 2017, 12:34:57
Geht bis jetzt nur, wenn das Device genau "WEB" heißt. Wusste nicht, das ihr fleißig umbenennt.
Nee nee, also was heißt umbenennen, ich zum Beispiel habe 6 Web Instanzen, also da ist klar das die nicht alle gleich heißen.
/Daniel
Einen "richtigen" Grund kann ich in der Webconsole nicht sehen. Mal vielleicht mit Ausnahme, dass longpoll das letzte Event vor ~17.000 Tagen gesehen haben soll...
Die Verbindung zu ws://192.168.0.51:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON wurde unterbrochen, während die Seite geladen wurde. fhem-tablet-ui.js:815:29
13:31:34.126 Error while longpoll: [object Event] fhem-tablet-ui.js:1564:13
13:31:34.174 Error while longpoll: [object CloseEvent] fhem-tablet-ui.js:1564:13
13:31:36.924 --------- start healthCheck -------------- fhem-tablet-ui.js:1213:13
13:31:36.927 now: Date 2017-02-20T12:31:36.927Z fhem-tablet-ui.js:1214:13
13:31:36.937 FTUI version: 2.6.3 fhem-tablet-ui.js:1215:13
13:31:36.940 Longpoll: true fhem-tablet-ui.js:1216:13
13:31:36.943 Longpoll type: websocket fhem-tablet-ui.js:1217:13
13:31:36.946 Longpoll objects there: true fhem-tablet-ui.js:1218:13
13:31:36.951 Longpoll curent line: 0 fhem-tablet-ui.js:1219:13
13:31:36.956 Longpoll last event before: 17186 Tag(e) 13 Stunde(n) 31 Minute(n) 36 Sekunde(n) fhem-tablet-ui.js:1220:13
13:31:36.958 Longpoll last reading uodate before: 17186 Tag(e) 13 Stunde(n) 31 Minute(n) 36 Sekunde(n) fhem-tablet-ui.js:1221:13
13:31:36.961 Shortpoll interval: 900 fhem-tablet-ui.js:1222:13
13:31:36.963 Shortpoll last run before: 19 Sekunde(n) fhem-tablet-ui.js:1223:13
13:31:36.966 FHEM dev/par count: 1698 fhem-tablet-ui.js:1224:13
13:31:36.968 FTUI known devices count: 8 fhem-tablet-ui.js:1225:13
13:31:36.976 Page length: 50537 fhem-tablet-ui.js:1226:13
13:31:36.979 Widgets count: 197 fhem-tablet-ui.js:1227:13
13:31:36.981 --------- end healthCheck --------------- fhem-tablet-ui.js:1228:13
13:31:36.984 No longpoll event since 1484919096.984secondes -> restart polling fhem-tablet-ui.js:1564:13
13:31:44.223 websockets URL=ws://192.168.0.51:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON fhem-tablet-ui.js:1564:13
13:31:44.343 GET http://192.168.0.51:8083/fhem/ [HTTP/1.1 101 Switching Protocols 0ms]
Zitat von: ext23 am 20 Februar 2017, 13:30:53
Nee nee, also was heißt umbenennen, ich zum Beispiel habe 6 Web Instanzen, also da ist klar das die nicht alle gleich heißen.
/Daniel
Für solche Poweruser könnte ich dann nur anbieten, dass man im Header explizit angeben muss, bei welchem Device nachgesehen werden muss, ob Websocket eingeschaltet ist.
Mein log wird grad geflutet
2017.02.20 11:48:16 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
Zitat von: tomster am 20 Februar 2017, 13:32:30
Einen "richtigen" Grund kann ich in der Webconsole nicht sehen. Mal vielleicht mit Ausnahme, dass longpoll das letzte Event vor ~17.000 Tagen gesehen haben soll...
Die Verbindung zu ws://192.168.0.51:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON wurde unterbrochen, während die Seite geladen wurde. fhem-tablet-ui.js:815:29
13:31:34.126 Error while longpoll: [object Event] fhem-tablet-ui.js:1564:13
13:31:34.174 Error while longpoll: [object CloseEvent] fhem-tablet-ui.js:1564:13
13:31:36.924 --------- start healthCheck -------------- fhem-tablet-ui.js:1213:13
13:31:36.927 now: Date 2017-02-20T12:31:36.927Z fhem-tablet-ui.js:1214:13
13:31:36.937 FTUI version: 2.6.3 fhem-tablet-ui.js:1215:13
13:31:36.940 Longpoll: true fhem-tablet-ui.js:1216:13
13:31:36.943 Longpoll type: websocket fhem-tablet-ui.js:1217:13
13:31:36.946 Longpoll objects there: true fhem-tablet-ui.js:1218:13
13:31:36.951 Longpoll curent line: 0 fhem-tablet-ui.js:1219:13
13:31:36.956 Longpoll last event before: 17186 Tag(e) 13 Stunde(n) 31 Minute(n) 36 Sekunde(n) fhem-tablet-ui.js:1220:13
13:31:36.958 Longpoll last reading uodate before: 17186 Tag(e) 13 Stunde(n) 31 Minute(n) 36 Sekunde(n) fhem-tablet-ui.js:1221:13
13:31:36.961 Shortpoll interval: 900 fhem-tablet-ui.js:1222:13
13:31:36.963 Shortpoll last run before: 19 Sekunde(n) fhem-tablet-ui.js:1223:13
13:31:36.966 FHEM dev/par count: 1698 fhem-tablet-ui.js:1224:13
13:31:36.968 FTUI known devices count: 8 fhem-tablet-ui.js:1225:13
13:31:36.976 Page length: 50537 fhem-tablet-ui.js:1226:13
13:31:36.979 Widgets count: 197 fhem-tablet-ui.js:1227:13
13:31:36.981 --------- end healthCheck --------------- fhem-tablet-ui.js:1228:13
13:31:36.984 No longpoll event since 1484919096.984secondes -> restart polling fhem-tablet-ui.js:1564:13
13:31:44.223 websockets URL=ws://192.168.0.51:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON fhem-tablet-ui.js:1564:13
13:31:44.343 GET http://192.168.0.51:8083/fhem/ [HTTP/1.1 101 Switching Protocols 0ms]
Das liegt am HealthCheck. Wenn longpoll aktiv ist, aber länger als 4 Minuten kein Event reinkam, wird neu gestartet. Unter der Ahnnahme, dass was nicht funktioniert.
Macht aber nur bei Oberflächen für gesprächige Devices Sinn.
Muss ich nochmal überarbeiten.
Wen es bis dahin stört, muss debug auf 0 setzen, um die Anzeige zu unterdrücken, oder Zeile 1233 und 1234 auskommentieren.
Zitat von: Eisix am 20 Februar 2017, 13:42:44
Mein log wird grad geflutet
2017.02.20 11:48:16 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
2017.02.20 11:48:17 3: FHEMWEB WEB CSRF error: ne 275970230216288
Das Cross-Site-Request-Forgery Feature kannte ich noch nicht. Muss ich noch nachrüsten.
In der Zwischenzeit erstmal auf Serverseite ausschalten.
attr WEB csrfToken 0
beruhigt mein log
Gruß
Eisix
Zitat von: Familienpapi am 20 Februar 2017, 12:28:56
muss mich leider anschließen. Irgendetwas passt zwischen TabletUI und FHEM 5.8 nicht zusammen.
Hier meine Definitionen:
define WEBtablet FHEMWEB 8084 global
attr WEBtablet JavaScripts codemirror/fhem_codemirror.js
attr WEBtablet codemirrorParam {"theme":"blackboard", "lineNumbers":true}
attr WEBtablet editConfig 0
attr WEBtablet endPlotNow 1
attr WEBtablet longpoll websocket
attr WEBtablet group Web
attr WEBtablet room zConfig
attr WEBtablet stylesheetPrefix darktouchpad
define WEBtablet_allowed allowed
attr WEBtablet_allowed allowedCommands get,set,jsonlist2
attr WEBtablet_allowed group Web
attr WEBtablet_allowed room zConfig
attr WEBtablet_allowed validFor WEBtablet
attr WEBtablet_allowed basicAuth [my_Auth]
define TABLETUI1 HTTPSRV FTUI/ ./www/tabletStable Tablet-Ansicht
attr TABLETUI1 room zConfig
attr TABLETUI1 group Web
define TABLETUI2 HTTPSRV FTUI_Dev/ ./www/tablet Tablet-Test
attr TABLETUI2 room zConfig
attr TABLETUI2 group Web
Funktioniert in beiden Umgebungen nicht mehr. Also liegt die Vermutung bei FHEM Update auf V5.8.
Gleiche Probleme hier, habe gerade Backup von 5.7 zurückgespielt, damit läuft es.
Zitat von: ext23 am 20 Februar 2017, 13:30:53
Nee nee, also was heißt umbenennen, ich zum Beispiel habe 6 Web Instanzen, also da ist klar das die nicht alle gleich heißen.
/Daniel
Ich habe auch mehrere Web Instanzen und anbei ist mir folgendes aufgefallen.
Beim Web über Port 8083 bekomme ich mit longpoll websocket innerhalb von FHEM bereits permanente disconnect retry Meldungen.
Beim webTablet über Port 8085 ist ebenfalls longpoll websocket eingestellt, aber keine Probleme.
Den einzigen Unterschied, den ich zur Zeit sehe, für Web ist ein basicauth Passwort hinterlegt, für webtablet nicht, kann da das Problem liegen?
Leute... wer lesen kann ist klar im Vorteil
FHEM 5.8 ist freigegeben. Aenderungshinweise beachten! (https://forum.fhem.de/index.php/topic,67419.0.html)
attr <WEBDEVICE> csrfToken none
oder 0 (null)
so lange bis setstate es implementiert hat^^
Grüße^^
Zitat von: roman1528 am 20 Februar 2017, 14:16:52
Leute... wer lesen kann ist klar im Vorteil
FHEM 5.8 ist freigegeben. Aenderungshinweise beachten! (https://forum.fhem.de/index.php/topic,67419.0.html)
attr <WEBDEVICE> csrfToken none
oder 0 (null)
so lange bis setstate es implementiert hat^^
Grüße^^
Hatte die Änderungshinweise gelesen, aber nicht verstanden, dass diese für Tabletui auch maßgeblich sind ,
Warte jetzt einfach mit dem Update bis es implementiert ist, ist ja kein Problem
Zitat von: setstate am 20 Februar 2017, 13:35:37
Für solche Poweruser könnte ich dann nur anbieten, dass man im Header explizit angeben muss, bei welchem Device nachgesehen werden muss, ob Websocket eingeschaltet ist.
Naja das Wie spielt eigentlich keine Rolle, für mich jedenfalls nicht ;-)
Zitat von: paul79 am 17 Februar 2017, 21:23:23
Hallo, das kommt von der 2.5 da gab es andere Größen. Du musst das bigger ändern.
https://forum.fhem.de/index.php/topic,65604.0.html
Gruß Paul
Bei mir sind auch viele Buttons nach dem Update riesig groß. Na gut, dachte ich, muß ich die größen Classen halt anpassen. Nun sehe ich aber das ich dummerweise meine Größen so angegeben habe:
style="font-size:26px;"
Hat bis heute immer funktioniert. So konnte ich die Buttons pixelweise skalieren.
Muß ich mich von dieser Art jetzt verabschieden ?
-Skusi
Hallo,
ich würde es hiermit ebenfalls noch einmal bestätigen, mit dem heutigen Update kommt folgende Fehlermeldung bezüglich des ShortPoll Requests:
ShortPoll Request Failed
parseerror, SyntaxError
Updatemäßig wurde folgendes durchgeführt:
2017.02.20 19:37:49 1: fhem
2017.02.20 19:37:50 1: RMDIR: ./restoreDir/2017-02-14
2017.02.20 19:37:50 1: UPD ./CHANGED
2017.02.20 19:37:50 1: UPD ./fhem.pl
2017.02.20 19:37:50 1: UPD FHEM/01_FHEMWEB.pm
2017.02.20 19:37:50 1: UPD FHEM/10_CUL_HM.pm
2017.02.20 19:37:50 1: UPD FHEM/20_GUEST.pm
2017.02.20 19:37:50 1: UPD FHEM/20_ROOMMATE.pm
2017.02.20 19:37:50 1: UPD FHEM/32_withings.pm
2017.02.20 19:37:50 1: UPD FHEM/33_readingsGroup.pm
2017.02.20 19:37:50 1: UPD FHEM/36_KeyValueProtocol.pm
2017.02.20 19:37:50 1: UPD FHEM/38_netatmo.pm
2017.02.20 19:37:50 1: UPD FHEM/39_alexa.pm
2017.02.20 19:37:50 1: UPD FHEM/50_HP1000.pm
2017.02.20 19:37:51 1: UPD FHEM/55_InfoPanel.pm
2017.02.20 19:37:51 1: UPD FHEM/70_PHTV.pm
2017.02.20 19:37:51 1: UPD FHEM/72_FB_CALLMONITOR.pm
2017.02.20 19:37:51 1: UPD FHEM/91_notify.pm
2017.02.20 19:37:51 1: UPD FHEM/92_FileLog.pm
2017.02.20 19:37:51 1: UPD FHEM/96_SIP.pm
2017.02.20 19:37:51 1: UPD FHEM/98_ComfoAir.pm
2017.02.20 19:37:51 1: UPD FHEM/98_telnet.pm
2017.02.20 19:37:51 1: UPD docs/commandref_frame.html
2017.02.20 19:37:51 1: UPD docs/commandref_frame_DE.html
2017.02.20 19:37:51 1: UPD www/pgm2/console.js
2017.02.20 19:37:51 1: saving fhem.cfg
2017.02.20 19:37:51 1: saving ./log/fhem.save
2017.02.20 19:37:51 1:
2017.02.20 19:37:51 1: New entries in the CHANGED file:
2017.02.20 19:37:51 1: - bugfix: 38_netatmo.pm: fixed login crash, updated webhooks
2017.02.20 19:37:51 1: - update: 32_withings.pm: replaced with new module
2017.02.20 19:37:51 1: - feature: 5.8 released
2017.02.20 19:37:51 1: - 2017-02-19 (5.8)
Die Konsole gibt folgendes dazu aus:
get jsonlist2: Timer gestartet fhem-tablet-ui.js:689
Könnte sich dies bitte jemand anschauen!?
Danke und Grüße,
Ingo
Zitat von: ih-sqeezer am 20 Februar 2017, 22:09:03
Hallo,
ich würde es hiermit ebenfalls noch einmal bestätigen, mit dem heutigen Update kommt folgende Fehlermeldung bezüglich des ShortPoll Requests:
ShortPoll Request Failed
parseerror, SyntaxError
Updatemäßig wurde folgendes durchgeführt:
2017.02.20 19:37:49 1: fhem
2017.02.20 19:37:50 1: RMDIR: ./restoreDir/2017-02-14
2017.02.20 19:37:50 1: UPD ./CHANGED
2017.02.20 19:37:50 1: UPD ./fhem.pl
2017.02.20 19:37:50 1: UPD FHEM/01_FHEMWEB.pm
2017.02.20 19:37:50 1: UPD FHEM/10_CUL_HM.pm
2017.02.20 19:37:50 1: UPD FHEM/20_GUEST.pm
2017.02.20 19:37:50 1: UPD FHEM/20_ROOMMATE.pm
2017.02.20 19:37:50 1: UPD FHEM/32_withings.pm
2017.02.20 19:37:50 1: UPD FHEM/33_readingsGroup.pm
2017.02.20 19:37:50 1: UPD FHEM/36_KeyValueProtocol.pm
2017.02.20 19:37:50 1: UPD FHEM/38_netatmo.pm
2017.02.20 19:37:50 1: UPD FHEM/39_alexa.pm
2017.02.20 19:37:50 1: UPD FHEM/50_HP1000.pm
2017.02.20 19:37:51 1: UPD FHEM/55_InfoPanel.pm
2017.02.20 19:37:51 1: UPD FHEM/70_PHTV.pm
2017.02.20 19:37:51 1: UPD FHEM/72_FB_CALLMONITOR.pm
2017.02.20 19:37:51 1: UPD FHEM/91_notify.pm
2017.02.20 19:37:51 1: UPD FHEM/92_FileLog.pm
2017.02.20 19:37:51 1: UPD FHEM/96_SIP.pm
2017.02.20 19:37:51 1: UPD FHEM/98_ComfoAir.pm
2017.02.20 19:37:51 1: UPD FHEM/98_telnet.pm
2017.02.20 19:37:51 1: UPD docs/commandref_frame.html
2017.02.20 19:37:51 1: UPD docs/commandref_frame_DE.html
2017.02.20 19:37:51 1: UPD www/pgm2/console.js
2017.02.20 19:37:51 1: saving fhem.cfg
2017.02.20 19:37:51 1: saving ./log/fhem.save
2017.02.20 19:37:51 1:
2017.02.20 19:37:51 1: New entries in the CHANGED file:
2017.02.20 19:37:51 1: - bugfix: 38_netatmo.pm: fixed login crash, updated webhooks
2017.02.20 19:37:51 1: - update: 32_withings.pm: replaced with new module
2017.02.20 19:37:51 1: - feature: 5.8 released
2017.02.20 19:37:51 1: - 2017-02-19 (5.8)
Die Konsole gibt folgendes dazu aus:
get jsonlist2: Timer gestartet fhem-tablet-ui.js:689
Könnte sich dies bitte jemand anschauen!?
Danke und Grüße,
Ingo
Ein beherztes
attr WEB csrfToken none
bringt Abhilfe. Dann funktioniert es wieder! Ist natürlich nur ein Workaround, bis setstate das CSRF Token berücksichtigt.
Gruß
demaya von demaya.de (http://demaya.de)
Danke dir demaya!
Somit funktioniert das FTUI zunächst wieder.
Grüße,
Ingo
Version 2.6.4 kann jetzt:
- mit dem CSRF Token umgehen
- Alter festlegen, ab wann ausbleibende Longpoll Events als "Disconnected" zählen
<meta name='longpoll_maxage' content='240'>
- Devicename festlegen, wo nachgesehen wird, ob "websocket" aktiviert ist
<meta name='web_device' content='WEB'>
Zitat von: setstate am 20 Februar 2017, 23:20:22
Version 2.6.4 kann jetzt:
- mit dem CSRF Token umgehen
- Alter festlegen, ab wann ausbleibende Longpoll Events als "Disconnected" zählen
<meta name='longpoll_maxage' content='240'>
- Devicename festlegen, wo nachgesehen wird, ob "websocket" aktiviert ist
<meta name='web_device' content='WEB'>
Gerade vom Handy aus noch mal ein Update gefahren und CSRF wieder aktiviert. Läuft! Vielen Dank setstate!
Gute Nacht
demaya von demaya.de (http://demaya.de)
Kann man den Longpoll-Status "Disconnected" eventuell auch via "data-bind" oder so auslesen ??
Zitat von: Clyde am 19 Februar 2017, 15:13:38
Habe auch Probleme beim Popup allerdings bzgl. ID. Ich habe einige Seiten mit sehr vielen Popups. Da wird das Schliessen dann sehr träge. Deshalb möchte ich gern mit ID arbeiten.
Beispiel 2 schliesst das Popup aber Beispiel 1 mit ID nicht. FTUI 2.6.2
<div data-type="popup" id="popup_1" data-height="200px" data-width="300px">
<div data-type="push" data-icon="">1</div>
<div class="dialog"><div>Test 1</div><br>
<div data-type="button" data-fhem-cmd="set HandyNickel ttsmsg Test" onclick="$('#popup_1 .dialog-close').trigger('click');"></div>
</div>
</div>
<div data-type="popup" id="popup_1" data-height="200px" data-width="300px">
<div data-type="push" data-icon="">2</div>
<div class="dialog"><div>Test 2</div><br>
<div data-type="button" data-fhem-cmd="set HandyNickel ttsmsg Test" onclick="$(' .dialog-close').trigger('click');"></div>
</div>
</div>
https://forum.fhem.de/index.php/topic,66243.msg581571.html#msg581571
Das mit der ID geht wirklich nicht. Hatte nicht bedacht, dass während der Laufzeit das Popup im DOM zerrissen wird.
Da muss ich mir noch was einfallen lassen. Melde mich wieder.
[Update]
Und da bin ich wieder. Lösung gefunden. Ich müsste nur eine Zeile einfügen, um die ID einfach auf das Close-Div zu kopieren.
Jetzt kannst du es so nutzen (ohne Leerzeichen dazwischen, weil es sich jetzt auf die gleiche Ebene bezieht)
onclick="$('#popup_0.dialog-close').trigger('click');"
Guten Morgen!
Ich hatte vor Monaten mal probiert, über fhemweb_url via
<meta name="fhemweb_url" content="http://user:pass@host:8083/fhem">
Authentication zu FHEM hinzubekommen. Gibt's dafür zufällig schon eine Lösung? Das wäre sehr hilfreich.
Patrick
Zitat von: Brause am 20 Februar 2017, 23:42:37
Kann man den Longpoll-Status "Disconnected" eventuell auch via "data-bind" oder so auslesen ??
Nicht wirklich. Onclose Events werden abgefangen und eine neue Verbindung versucht.
Und da auch keine Tests per Ping oder Hearthbeat implementiert sind, kann man nur mittels des Alters des letzten Events mutmaßen.
Du kannst ja im FHEM ein Device anlegen, was aller x-Sekunden ein ReadingUpdate hat, dann muss das Alter des zuletzt empfangenen Events immer diesem Interval entsprechen.
In der index_state.html zeige ich das Alter dann einfach an. Kann man auch mit .ago() in eine Zeitdifferenz umwandeln.
Ah. OK.
Ja so ein Reading habe ich schon, aktualisiert alle 60 sec. Das kann ich dafür missbrauchen.
Danke
Hallo,
update all gemacht. Cache leer gemacht. Reload bringt angehängten Fehler.
FTUI Versionsnr wird nicht mehr angezeigt.
Gruß
Eisix
Zitat von: setstate am 21 Februar 2017, 01:29:49
Jetzt kannst du es so nutzen (ohne Leerzeichen dazwischen, weil es sich jetzt auf die gleiche Ebene bezieht)
onclick="$('#popup_0.dialog-close').trigger('click');"
WOW, das bringt mir einen wirklichen Performance Schub. Vielen Dank für die Mühe.
Zitat von: setstate am 20 Februar 2017, 23:20:22
Version 2.6.4 kann jetzt:
- mit dem CSRF Token umgehen
- Alter festlegen, ab wann ausbleibende Longpoll Events als "Disconnected" zählen
<meta name='longpoll_maxage' content='240'>
- Devicename festlegen, wo nachgesehen wird, ob "websocket" aktiviert ist
<meta name='web_device' content='WEB'>
Bekommt man die neueste Version nicht automatisch mit FHEM Update? Habe gerade Update gemacht und bekomme ohne csrfToken = 0 noch immer die Fehlermeldungen zu shortpoll
Dann müssen deine Fehler eine andere Ursache haben.
Dein WEB Device heißt nicht zufällig anders?
auf meinen älteren Samsung Galaxy Tab 3 kommen immer noch die "Retry to connect in 10 seconds" Fehler sollten die damit auch weg sein.?
Es hat sich ja schon reduziert auf diese eine Anzeige ;) :D
Wie gesagt, kommt auf die Ursachen an.
Meine Glaskugel verrät mir eurer gerade nicht ;)
Zitat von: setstate am 21 Februar 2017, 14:36:23
Dann müssen deine Fehler eine andere Ursache haben.
Dein WEB Device heißt nicht zufällig anders?
Ok, das war der (mein) Fehler, hatte noch nicht den neuen Meta-Eintrag mit dem anderen Web-Namen eingepflegt. Damit geht es jetzt.
Mein (Anfänger)-Problem: beim Installieren von FHEM habe ich nach der damaligen Anleitung ein Passwort vergeben, aber nur für WEB, daneben wurde auch WEBtablet und WEBIphone angelegt. Beide auf anderen Ports. Denke, das ist so Standard-Installation.
Wenn ich longpoll=websocket in WEB eintrage habe ich schon in FHEM Web Oberfläche ständig die Meldung, dass die Verbindung weg ist. Bei WEBtablet und WEBIphone passiert das (trotz longpoll=websocket) nicht.
Tabletui rufe ich auch nur aus WEBTablet oder WEBIphone auf, alleine schon, weil sonst beim neuaufruf immer das Passwort eingegeben werden muss. Für die Haussteuerung lästig.
Meine Frage jetzt: warum überhaupt die Passwortfestlegung bei WEB?
Ein Zugriff von außen ist m.E. ohnehin nur per VPN möglich, oder?
Ich befürchte, das sind wirklich blöde Anfängerfragen und manchen IT-Hase schüttelt sich jetzt. Aber ohne fragen keine Antworten.
Zitat von: setstate am 21 Februar 2017, 15:32:29
Wie gesagt, kommt auf die Ursachen an.
Meine Glaskugel verrät mir eurer gerade nicht ;)
es geht nach wie vor um diese (https://forum.fhem.de/index.php/topic,66879.msg586391.html#msg586391) Geschichte mit den Anzeigen auf meinen Samsung Tablets..! Ich war da aber nicht der einzige mit diesen Meldungen
Wie schon erwähnt kommt die Disconnected Meldung nicht mehr nur eben diese "Retry to connect in 10 seconds"
Was brauchst du noch für Angaben.?
In welchem Abstand? Aller 4min?
Was zeigt die index_state.html nach dem ersten Reconnect?
nein, ich sage mal 2-3 sekündlich kommt diese Anzeige
state siehe Screenshot
Dann gibt es einen Disconnect direkt im Aufruf.
Hast du "Longpoll (WebSocket).." oder "Longpoll (AJAX)..."
Kannst du die Webconsole auf diesem Device benutzen? Da müsste man im Debug-Level diese Meldung finden
"Error while longpoll: ...."
Ansonsten poste ich dir eine Zeile zum selbst einbauen und dann kommt das als Toastmeldung hoch
Hallo,
bei mir scheint es noch ein Problem mit csrfToken zugeben und zwar immer wenn eine Seite mit einem Chart aufgerufen wird. (highchart und chart).Zitat
2017.02.21 19:29:44 3: FHEMWEB WEBtablet CSRF error: ne fhem_283236620982908. For detals see the csrfToken FHEMWEB attribute
2017.02.21 19:29:44 3: FHEMWEB WEBtablet CSRF error: ne fhem_283236620982908. For detals see the csrfToken FHEMWEB attribute
2017.02.21 19:29:57 3: FHEMWEB WEBtablet CSRF error: ne fhem_283236620982908. For detals see the csrfToken FHEMWEB attribute
2017.02.21 19:29:57 3: FHEMWEB WEBtablet CSRF error: ne fhem_283236620982908. For detals see the csrfToken FHEMWEB attribute
2017.02.21 19:29:57 3: FHEMWEB WEBtablet CSRF error: ne fhem_283236620982908. For detals see the csrfToken FHEMWEB attribute
kann es sein das da noch etwas nicht stimmt, alles ist auf dem neusten Stand.hat sich erledigt es gibt einen eigenen Thread dafür.
Gruß Paul
siehe state über deinem Beitrag ;)
ich nutze "Longpoll (WebSocket).."
Du meinst auf dem Tablet soll ich die Webconsole nutzen..? und wie genau oder besser was soll ich machen.?
Hallo moonsorrox,
ich hatte auch anfangs viele disconnect mit websocket nach langem suchen habe ich es gefunden indem ich vieles disabled habe bis es aufgehört hatte.
Und es war bei mir das Modul Wunderground, nachdem ich einen Workaround reingeschrieben habe geht es wieder.
https://forum.fhem.de/index.php/topic,59646.msg586852.html#msg586852
Vielleicht ist es ja bei dir auch so etwas.
Gruß Paul
Zitat von: moonsorrox am 21 Februar 2017, 19:41:27
siehe state über deinem Beitrag ;)
ich nutze "Longpoll (WebSocket).."
Du meinst auf dem Tablet soll ich die Webconsole nutzen..? und wie genau oder besser was soll ich machen.?
Auf dem Tablet und WebConsole, nein doch.
Dann musst du in die fhem-tablet-ui.js ab Zeile 830 folgendes hinzufügen, damit die Fehlermeldungen sichtbar werden
vorher
ftui.websocket.onclose = function (msg) {
ftui.log(1, "Error while longpoll: " + msg);
ftui.restartLongPoll();
};
ftui.websocket.onerror = function (msg) {
ftui.log(1, "Error while longpoll: " + msg);
ftui.restartLongPoll();
};
nachher
ftui.websocket.onclose = function (msg) {
ftui.toast("Error while longpoll: " + msg);
ftui.restartLongPoll();
};
ftui.websocket.onerror = function (msg) {
ftui.toast("Error while longpoll: " + msg);
ftui.restartLongPoll();
};
Zitat von: setstate am 20 Februar 2017, 23:20:22
Version 2.6.4 kann jetzt:
- mit dem CSRF Token umgehen
- Alter festlegen, ab wann ausbleibende Longpoll Events als "Disconnected" zählen
<meta name='longpoll_maxage' content='240'>
- Devicename festlegen, wo nachgesehen wird, ob "websocket" aktiviert ist
<meta name='web_device' content='WEB'>
Hi setstate, könntest du bitte immer den Post #1 updaten mit solchen Infos? Und innerhalb des Thread nur auf ein Update auf #1verweisen? Da liest man sich ja blöde ;) ;) um alles in einem ellenlangen Thread zu finden...
Irgendwie funktioniert das volume widget mit HUE nicht mehr um die Farbe zu ändern, als Werte werden immer Fließkommawerte angezeigt, ich vermute da liegt das Problem.
Ich bin wohl nicht der Einzige, der das Problem hat. (https://forum.fhem.de/index.php/topic,67456.msg589033.html#msg589033)
Hue Wert bei Volume ist gefixed
Ui, das ging aber fix, vielen Dank!
Zitat von: setstate am 21 Februar 2017, 20:23:33
Dann musst du in die fhem-tablet-ui.js ab Zeile 830 folgendes hinzufügen, damit die Fehlermeldungen sichtbar werden
ich habe das nun mal eingefügt, aber es gibt die selbe Ausgabe, weiter nichts
die Meldung "Retry to connect in 10 seconds" kommt jetzt alle 5 sec.
Aber du hast schon aus der Zeile ftui.log(.... ftui.toast(.... gemacht? Nicht einfach den Block unten dran gehangen?
Jetzt muss doch eine neue Toastmeldung kommen mit: Error while longpoll + Text
Der Extratext interessiert mich.
ja klar ich denke auskommentieren reicht da aus...!
1. Zeile ist die 830 ftui.websocket = new WebSocket(wsURL); dann auskommentiert dann deine Zeilen
ftui.websocket = new WebSocket(wsURL);
/*ftui.websocket.onclose = function (msg) {
ftui.log(1, "Error while longpoll: " + msg);
ftui.restartLongPoll();
};
ftui.websocket.onerror = function (msg) {
ftui.log(1, "Error while longpoll: " + msg);
ftui.restartLongPoll();
};*/
ftui.websocket.onclose = function (msg) {
ftui.toast("Error while longpoll: " + msg);
ftui.restartLongPoll();
};
ftui.websocket.onerror = function (msg) {
ftui.toast("Error while longpoll: " + msg);
ftui.restartLongPoll();
};
kann es sein das evtl. Einträge die ich noch nicht nutze dafür verantwortlich sind... so wie es Paul79 geschrieben hat..?
da ich ja das gesamte Layout nicht erstellt habe und ich eine Vorlage als Beispiel nutze und dabei bin alles für mich anzupassen sind sicher jetzt noch einige device drin die ich noch nicht habe...! weißt du was ich meine..?
Hallo setstate,
seit der letzen Änderung am Popup-Widget, funktionieren die Größen-/Positionsangaben data-height, data-width, data-top, data-left in Prozent nicht mehr.
Angaben in px funktionieren noch.
Schaue ich mir an. Danke
Nabend,
also bei mir kommen mit Fully auch im Sekundentakt Disconnected Meldungen (websocket started, dann disconnect, dann retry in 10 Sekunden). Aber nur aufm Tab, wenn ich es aufm PC öffne läuft es. Das STATE sieht auch bei beiden identisch aus, lediglich auf dem Tab bleibt Last Event auf 00:00:00.
SSL ist aus, ist nur die interne Seite, Instanzname habe ich auch angegeben im META, aber wie gesagt aufm PC geht es, nur das Tab macht sorgen. Kann also auch am Tab liegen, ist aber Android 4.4.2.
/Daniel
und einfach auf ajax schalten ('longpoll_type'), geht es dann auf dem Tablet?
Zitat von: ext23 am 22 Februar 2017, 18:23:35
Nabend,
also bei mir kommen mit Fully auch im Sekundentakt Disconnected Meldungen (websocket started, dann disconnect, dann retry in 10 Sekunden). Aber nur aufm Tab, wenn ich es aufm PC öffne läuft es. Das STATE sieht auch bei beiden identisch aus, lediglich auf dem Tab bleibt Last Event auf 00:00:00.
SSL ist aus, ist nur die interne Seite, Instanzname habe ich auch angegeben im META, aber wie gesagt aufm PC geht es, nur das Tab macht sorgen. Kann also auch am Tab liegen, ist aber Android 4.4.2.
/Daniel
Ist Deine Web-Instanz passwortgeschützt?
Ich habe diese disconnected Meldungen nur bei den Web-Instanzen, die passwortgeschützt sind. Da dann aber auch mit websocket
>und einfach auf ajax schalten ('longpoll_type'), geht es dann auf dem Tablet?
japp, geht sofort
>Ist Deine Web-Instanz passwortgeschützt?
>Ich habe diese disconnected Meldungen nur bei den Web-Instanzen, die passwortgeschützt sind. Da dann aber auch mit websocket
Ja ist natürlich passwortgeschützt ja, mhh dann schalte ich das zum Test mal ab. Aber das ist ja dann ein Fully Problem oder?
Zitat von: Garbsen am 22 Februar 2017, 18:35:48
Ist Deine Web-Instanz passwortgeschützt?
Ich habe diese disconnected Meldungen nur bei den Web-Instanzen, die passwortgeschützt sind. Da dann aber auch mit websocket
Das sollte nicht der Fehler sein, denn mein Lenovo Tablet welches sehr neu ist... Macht diese aufpopenden anzeigen auch nicht....
Es sind nur die beiden älteren Galaxy Tablets
Ich bin nicht zuhause und werde die Einstellung heute Abend mal probieren...!
Ich habe leider das selbe Problem wie moonsorrox auf meinem Samsung-Tab. Alle paar Minuten bekomme ich die beiden Meldungen "retry to connect in 10s" und dann "longpoll(websocket)started".
Ich habe dann deinen workaround für die fhem-tablet-ui.js eingebaut, die Meldungen bleiben aber gleich - ich bekomme keine zusätzliche Meldung.
Das ist keine Workaround, ich möchte nur wissen, was das für Fehler bei euch sind.
Cache geleert?
Welches File habt ihr im Header gelinkt? Vllt. die min (komprimierte) Variante?
fhem-tablet-ui.min.js oder fhem-tablet-ui.js
Hallo,
seit dem update auf v2.6.5 werden keine Inhalte in Popups mehr angezeigt.
Charts, wdtimer, etc zeigen alle keine Inhalte. Das heißt zum Bsp. bei charts sehe ich das chart ansich, jedoch keine Daten.
Habe dazu mehrer browser geprüft und jeweils den cache geleert. Ebenfalls nicht funktionsfähig in fullybrowser auf dem tablet.
Log vom update:
2017.02.22 19:46:18 1: fhem
2017.02.22 19:46:18 1: RMDIR: ./restoreDir/2017-02-18
2017.02.22 19:46:19 1: UPD ./CHANGED
2017.02.22 19:46:19 1: UPD FHEM/01_FHEMWEB.pm
2017.02.22 19:46:19 1: UPD FHEM/32_withings.pm
2017.02.22 19:46:19 1: UPD FHEM/39_alexa.pm
2017.02.22 19:46:19 1: UPD FHEM/70_PHTV.pm
2017.02.22 19:46:19 1: UPD FHEM/96_SIP.pm
2017.02.22 19:46:19 1: UPD FHEM/96_allowed.pm
2017.02.22 19:46:19 1: UPD FHEM/98_DOIFtools.pm
2017.02.22 19:46:19 1: UPD FHEM/98_structure.pm
2017.02.22 19:46:19 1: UPD FHEM/98_weblink.pm
2017.02.22 19:46:19 1: UPD FHEM/HttpUtils.pm
2017.02.22 19:46:20 1: UPD contrib/commandref_join.pl
2017.02.22 19:46:20 1: saving fhem.cfg
2017.02.22 19:46:20 1: saving ./log/fhem.save
2017.02.22 19:46:20 1:
2017.02.22 19:46:20 1: New entries in the CHANGED file:
2017.02.22 19:46:20 1: - update: 32_withings.pm: added unknown values for body scale
2017.02.22 19:46:20 1: - update: 98_DOIFtools: add CSRF-Token, add DOIFtoolsLogDir
2017.02.22 19:46:20 1:
2017.02.22 19:46:20 1:
2017.02.22 19:46:20 1: fhemtabletui
2017.02.22 19:46:20 1: UPD www/tablet/css/fhem-tablet-ui.css
2017.02.22 19:46:20 1: UPD www/tablet/css/fhem-tablet-ui.min.css
2017.02.22 19:46:21 1: UPD www/tablet/js/fhem-tablet-ui.js
2017.02.22 19:46:21 1: UPD www/tablet/js/fhem-tablet-ui.min.js
2017.02.22 19:46:21 1: UPD www/tablet/js/widget_filelog.js
2017.02.22 19:46:21 1: UPD www/tablet/js/widget_knob.js
2017.02.22 19:46:21 1: UPD www/tablet/js/widget_popup.js
2017.02.22 19:46:22 1: UPD www/tablet/js/widget_simplechart.js
2017.02.22 19:46:22 1: UPD www/tablet/js/widget_slideout.js
2017.02.22 19:46:22 1: UPD www/tablet/js/widget_volume.js
2017.02.22 19:46:22 1: saving fhem.cfg
2017.02.22 19:46:22 1: saving ./log/fhem.save
Ich tippe mal auf das "widget_popup,js".
Grüße,
Ingo
Cache ist geleert und gelinkt habe ich die normale fhem-tablet-ui.js.
Zitat von: setstate am 22 Februar 2017, 19:44:13
Das ist keine Workaround, ich möchte nur wissen, was das für Fehler bei euch sind.
Cache geleert?
Welches File habt ihr im Header gelinkt? Vllt. die min (komprimierte) Variante?
fhem-tablet-ui.min.js oder fhem-tablet-ui.js
Bringt mich zu einer ganz anderen Frage: wo ist der Unterschied zwischen den diversen 'min' js/css und den Dateien ohne min? Nach welcher Logik linke ich auf welche Datei? Wo kann ich dazu etwas finden?
@ih-sqeezer: hast die Popup Größe in % oder px angegeben ? Bei Angabe von % wird das popup sehr klein und man muss schon suchen, wo es geblieben ist.
@tekniker68:
Ich habe meine popups definitiv alle absolut, also in px angegeben. ich hatte mir dein Problem vorher schon durchgelesen gehabt. Leider traf dies nicht bei mir zu.
Meine popups gehen ganz normal auf und sind wie sonst auch in der definierten Größe sichtbar. Jedoch fehlt überall der Inhalt.
Grüße,
Ingo
Zitat von: ih-sqeezer am 22 Februar 2017, 20:03:44
Hallo,
seit dem update auf v2.6.5 werden keine Inhalte in Popups mehr angezeigt.
Charts, wdtimer, etc zeigen alle keine Inhalte. Das heißt zum Bsp. bei charts sehe ich das chart ansich, jedoch keine Daten.
Habe dazu mehrer browser geprüft und jeweils den cache geleert. Ebenfalls nicht funktionsfähig in fullybrowser auf dem tablet.
...
Bei mir das gleiche.
Gruß Detlef
Mahlzeit!
Das CSRF-Update funktioniert bei mir leider auch nicht:
2017.02.22 20:25:00.072 3: FHEMWEB WEB_FTUI CSRF error: ne test. For detals see the csrfToken FHEMWEB attribute
Man sieht auch sehr schön, wie Tablet UI leere CSRF-Tokens verschickt:
# tcpdump -A -i eth0 'port 8088 and (host 192.168.0.150 or host 192.168.0.151)'|grep --color=auto -i fwcsrf
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
cmd=get+HM_BVG+Botanischer-Garten&fwcsrf=&XHR=1
Konfiguration:
<meta name='web_device' content='WEB_FTUI'>
<meta name="fhemweb_url" content="http://XXX:8088/fhem">
Patrick
Das Problem mit dem Chart-Widget scheint aber ein grundsätzliches zu sein, bei mir bleibt es ebenfalls leer, egal ob ich es innerhalb eines Sliders aufrufe oder einzeln auf einer Seite. Vielleicht hängt das ja mit websocket zusammen. Da ist dann aber glaube ich der Entwickler des Widgets gefragt (Eki ?).
Popup Problem bei Width / Height mit % Werten gelöst.
Chart ist noch nicht CSRF tauglich. Wenn ihr das benutzt, CSRF abschalten.
Zitat von: tekniker68 am 22 Februar 2017, 19:40:14
Ich habe leider das selbe Problem wie moonsorrox auf meinem Samsung-Tab.
hast du zufällig in deiner index.html oben im <head></head> so etwas drin stehen...!
<meta name="toast" content="1"> <!-- 1,2,3...= n Toast-Messages, 0: No Toast-Messages -->
ich hatte nämlich meine index.html irgendwann etwas modifiziert, da habe ich das drin gehabt.
Jetzt Cache geleert und auch auf meinen alten Samsung Tablets alles ruhig...
Ich frage mich nur warum hat mein "Neues" Lenovo das nicht gezeigt...? Es gibt also noch irgendwo Unterschiede.
Ich habe mal mein iPad genommen und hier hat Safari und auch der Mercury Browser diese Message gezeigt...!
@setstate: Danke für die schnelle Hilfe. Beim Chart scheint es aber noch etwas anderes zu sein, csrf habe ich bei mir abgeschaltet.
@moonsorrox: <meta name="toast" content="1"> steht bei mir im Header. Was hast du denn genau gändert ?
Wenn ihr an den Toast Einstelllungen schraubt, wird nur die Meldung unterdrückt, aber die Abbrüche bleiben.
Bei Änderung am csrf Attributte im FHEM muss man speichern und "shutdown reststart" rufen
Zitat von: tekniker68 am 23 Februar 2017, 06:22:45
@moonsorrox: <meta name="toast" content="1"> steht bei mir im Header. Was hast du denn genau gändert ?
Ich habe dort eine 0 eingetragen, aber so wie setstate schreibt ist das nicht die Lösung.... Die Message sind zwar weg, aber es gilt zu ergründen warum es diese Abbrüche gibt, denn die sind ja noch da....
Werden nur nicht mehr angezeigt
Es muss mit den älteren Android Versionen zutun haben
Das Chart-Widget funktioniert wieder, ich hatte fälschlicherweise das csrf-Attribut auf 0 anstatt auf none gesetzt.
Popup geht ebenfalls wieder mit % Angaben.
Das mit der 0 nur die toastmessages abgeschaltet werden, war mir schon klar, ich dachte du hättest noch was anderes eingefügt.
Die Sache mit den Verbindungsabbrüchen besteht leider immer noch, und die Änderung an der fhem-tablet-ui.js bringt bei mir auch keine zusätzlichen Meldungen auf den Bildschirm. Gibt es vielleicht noch eine andere Möglichkeit um den Fehler zu finden ?
Zitat von: tekniker68 am 23 Februar 2017, 12:59:30
Gibt es vielleicht noch eine andere Möglichkeit um den Fehler zu finden ?
ich denke setstate macht da gute Arbeit und ist dran, aber soetwas braucht immer da es ja nicht bei allen Geräten ist...! Warten wir es einfach ab...
So ich habe jetzt nochmals den Teil für die Fehlererkennung eingebaut, nun bekomme ich folgende Anzeige:
Error while longpoll:[object CloseEvent]
Error while longpoll:[object Event]
diese beiden sind es..! aber wo die nun zu gehören..?
hab hier dassebe Problem, es kommen keine Werte in FTUI an, ständige Toastmeldungen "Retry to connect" and "Disconnected"
Im WEB Device habe ich auch websocket umgestellt
Das Slideout Menü ist bei mir nach wie vor verschoben, wenn ich in den Header nicht:
<link rel="stylesheet" href="tablet/lib/font-awesome.min.css" />
einfüge.
Eventuell fehlt noch irgendwo das ftui.config.basedir oder font-awesome.min.css wird zu spät geladen. Ich habe es leider nicht gefunden.
Aber ich verstehe auch nicht, was font-awesome mit der Positionierung im Slideout Menü zu tun hat.
Code vom Slideout:
<nav id="menu">
<!-- Kopfzeile im Seitenmenü -->
<section style="background-image: linear-gradient(#303236,#1D1F20,#1D1F20, #1D1F20,#303236);">
<div data-type="symbol" data-off-background-color="transparent"
data-off-color="lightgrey" data-on-background-color="#337ab7"
data-on-color="lightgrey" data-get-on='["on","(?:[1-9][0-9]*)","0"]'
data-device="Updates" data-get="NewUpdates"
data-icons='["oa-edit_settings","oa-edit_settings warn","oa-edit_settings"]'
class="tiny inline col-1-5"></div>
<div data-type="symbol" data-device="Fenster_offen"
data-off-color="lightgrey" data-on-colors='["lightgrey","blue"]'
data-get-on='["^[0]$","^[1-9][0-9]|[1-9]$"]'
data-icons='["ftui-window","ftui-window warn"]' class="tiny inline col-1-5"></div>
<div data-type="symbol" data-device="Fehler.warn" data-get-on='["^[0]$","^[1-9][0-9]*"]' data-warn="state"
data-off-background-color="transparent" data-off-color="lightgrey"
data-on-background-color="#337ab7" data-on-colors='["lightgrey","red"]'
data-icons='["oa-measure_battery_100","oa-measure_battery_0 warn"]' class="tiny inline col-1-5"></div>
<div data-type="symbol" data-device="myAbfall"
data-get='Muellkalender_GelberSack_tage' data-off-color="yellow"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'
data-icons='["fa-trash warn","fa-trash warn","fa-trash warn"]'
data-on-colors='["yellow","yellow","yellow"]' class="tiny inline col-1-5"></div>
</section>
<!-- Punkte Seitenmenü -->
<div data-type="link" class="large top-space-2x left-align"
data-width="150" data-text-align="right" data-color="white" data-active-color="green"
data-icon-left="oa-sani_heating"
data-load="div#heizung"
data-url="#drham/detail_heizung.php"
data-active-pattern=".*#.*\/detail_heizung.php">Heizung</div>
<div data-type="link" class="large top-space-2x left-align"
data-width="150" data-text-align="right" data-color="white" data-active-color="green"
data-icon-left="fa-battery-full"
data-load="div#batterien"
data-url="#drham/detail_batterien.php"
data-active-pattern=".*#.*\/detail_batterien.php">Batterien</div>
<div data-type="link" class="large top-space-2x left-align"
data-width="150" data-text-align="right" data-color="white" data-active-color="green"
data-icon-left="fa-cogs"
data-load="div#einstellungen"
data-url="#drham/detail_einstellungen.html"
data-active-pattern=".*#.*\/detail_einstellungen.html">Einstellungen</div>
</nav>
@klausw: konnte ich nachvollziehen. Link benutzt die Icon-Weite zur Berechnung der Gesamt-Breite. Wenn Link initiiert ist das FA css noch nicht automatisch geladen. Fest eingebunden passt es aber.
Ich habe den wichtigen Teil aus der fa css jetzt in die ftui css übernommen.
Zitat von: setstate am 23 Februar 2017, 20:21:03
@klausw: konnte ich nachvollziehen. Link benutzt die Icon-Weite zur Berechnung der Gesamt-Breite. Wenn Link initiiert ist das FA css noch nicht automatisch geladen. Fest eingebunden passt es aber.
Ich habe den wichtigen Teil aus der fa css jetzt in die ftui css übernommen.
Super, danke dir.
Muss eigentlich beispielsweise Zeile 635 der fhem-tablet-ui.js
anstelle von
!$('link[href$="lib/font-awesome.min.css"]').length
nicht auch
!$('link[href$="' + ftui.config.basedir + 'lib/font-awesome.min.css"]').length
lauten? Oder bin ich da auf dem Holzweg. Falls nicht wäre das auch in 1536 und 1538 der Fall
:) Nein, hier passt die Abfrage.
Wenn nicht "$lib/font-awesome.min.css" vorhanden. Das $ Zeichen ist ein Wildcard
https://api.jquery.com/attribute-ends-with-selector/
Zitat von: setstate am 24 Februar 2017, 00:18:33
:) Nein, hier passt die Abfrage.
Danke, wieder was gelernt 8)
Hallo Setstate,
Ich hätte da noch eine Frage/Bitte:
Ist es möglich beim lesen der jsonlist2 nur die verwendeten Readings zu holen?
Vermutlich ist es aufwändiger, aber es würde sicher Sinn machen.
Mein FHEM läuft über eine Mobilfunkanbindung/VPN.
FTUI ist auf einem anderen System installiert welches an einem Kabelanschluss hängt (Die Seite selbst wird dadurch recht schnell geladen).
Es gehen also nur die json/ajax was auch immer über die Mobilfunkstrecke.
Ich habe einige Heizkörperthermostate und dort machen beispielsweise die Abschnitte "PossibleSetS" und "PossibleAttrs" den größten Teil der json Daten aus (zumal es bei jedem Thermostat die gleichen sind).
Die json Daten der Heizungsseite sind allein 115kb groß. Das dauert ewig (knapp 30s) bis es geladen ist und bricht auch häufiger ab.
Ich glaube, das bietet jsonlist2 nicht.
jsonlist2 ist filterbar per devspev (siehe CommandRef). Ich gebe jetzt schon nur die Liste der Devices mit, die benötigt werden. Aber ich kenne keine devspec Definition, die Readings ausklammert.
Vllt. Kennst du sowas.
Zitat von: setstate am 24 Februar 2017, 10:20:03
Ich glaube, das bietet jsonlist2 nicht.
jsonlist2 ist filterbar per devspev (siehe CommandRef). Ich gebe jetzt schon nur die Liste der Devices mit, die benötigt werden. Aber ich kenne keine devspec Definition, die Readings ausklammert.
Vllt. Kennst du sowas.
Ich habe mal nachgelesen/probiert
So feingranular lässt es sich leider nicht auflösen.
Aber es lassen sich durchaus werte mitgeben. Diese werden dann halt für jedes Device verwendet.
Wenn du hinter die Devspec alle Readings schreibst, die genutzt werden, dann werden auch nur diese zurück geliefert.
Wenn ein Reading für das Device nicht existiert dann wird es einfach nicht geliefert.
jsonlist [<devspec>] [<value1> <value2> ...]
Ich habe derzeit Beispielsweise 5 Thermostate. Ich benötige von jedem das "Basis" und das "_Clima" Device. Da "Activity" nur im Basisdevice vorhanden ist ich die Temperaturen aber nur im "_Clima" Device setzen kann. Das heißt für diesen Fall vervielfacht sich die Datenmenge im Beispiel auf das 5-fache. Die Ladezeit würde erheblich reduziert werden.
Beispiel ohne values:
https://meineseite:8443/drham?cmd=jsonlist2%20WEB%2CThermostat_Bad%2CThermostat_Bad_Clima&fwcsrf=&XHR=1
{
"Arg":"WEB,Thermostat_Bad,Thermostat_Bad_Clima",
"Results": [
{
"Name":"Thermostat_Bad",
"PossibleSets":"assignHmKey:noArg burstXmit:noArg clear:readings,trigger,register,oldRegs,rssi,msgEvents,attack,all deviceRename fwUpdate getConfig:noArg getRegRaw inhibit:on,off raw regBulk regSet reset:noArg sysTime:noArg unpair:noArg",
"PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 do_not_notify:1,0 showtime:1,0 rawToReadable unit expert:0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything param actAutoTry:0_off,1_on aesCommReq:1,0 ignore:1,0 dummy:1,0 IODev IOList IOgrp rssiLog:1,0 actCycle hmKey hmKey2 hmKey3 serialNr firmware .stc .devInfo actStatus autoReadReg:0_off,1_restart,2_pon-restart,3_onChange,4_reqStatus,5_readMissing,8_stateOnly burstAccess:0_off,1_auto msgRepeat hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger aesKey:5,4,3,2,1,0 repPeers peerIDs tempListTmpl:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima levelRange levelMap cyclicMsgOffset event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading model:ASH550,ASH550I,CCU-FHEM,CMM,DORMA_BRC-H,DORMA_RC-H,DORMA_atent,HM-CC-RT-DN,HM-CC-RT-DN-BoM,HM-CC-SCD,HM-CC-TC,HM-CC-VD,HM-Dis-EP-WM55,HM-Dis-TD-T,HM-Dis-WM55,HM-ES-PMSw1-DR,HM-ES-PMSw1-Pl,HM-ES-PMSw1-Pl-DN-R1,HM-ES-PMSw1-Pl-DN-R2,HM-ES-PMSw1-Pl-DN-R3,HM-ES-PMSw1-Pl-DN-R4,HM-ES-PMSw1-Pl-DN-R5,HM-ES-PMSw1-SM,HM-ES-TX-WM,HM-LC-AO-SM,HM-LC-BL1-FM,HM-LC-BL1-PB-FM,HM-LC-BL1-SM,HM-LC-Bl1-FM-2,HM-LC-Bl1-SM-2,HM-LC-Bl1PBU-FM,HM-LC-DDC1-PCB,HM-LC-DIM1L-CV,HM-LC-DIM1L-PL,HM-LC-DIM1T-CV,HM-LC-DIM1T-FM,HM-LC-DIM1T-PL,HM-LC-DIM2L-CV,HM-LC-DIM2L-SM,HM-LC-DIM2T-SM,HM-LC-Dim1L-CV-2,HM-LC-Dim1L-CV-644,HM-LC-Dim1L-Pl-2,HM-LC-Dim1L-Pl-3,HM-LC-Dim1L-Pl-644,HM-LC-Dim1PWM-CV,HM-LC-Dim1PWM-CV-2,HM-LC-Dim1T-CV-2,HM-LC-Dim1T-CV-644,HM-LC-Dim1T-DR,HM-LC-Dim1T-FM-2,HM-LC-Dim1T-FM-644,HM-LC-Dim1T-FM-LF,HM-LC-Dim1T-Pl-2,HM-LC-Dim1T-Pl-3,HM-LC-Dim1T-Pl-644,HM-LC-Dim1TPBU-FM,HM-LC-Dim1TPBU-FM-2,HM-LC-Dim2L-SM-2,HM-LC-Dim2L-SM-644,HM-LC-Dim2T-SM,HM-LC-Dim2T-SM-2,HM-LC-Ja1PBU-FM,HM-LC-RGBW-WM,HM-LC-SW1-BA-PCB,HM-LC-SW1-FM,HM-LC-SW1-PB-FM,HM-LC-SW1-PL,HM-LC-SW1-PL-OM54,HM-LC-SW1-PL2,HM-LC-SW1-SM,HM-LC-SW1-SM-ATMEGA168,HM-LC-SW2-DR,HM-LC-SW2-FM,HM-LC-SW2-PB-FM,HM-LC-SW2-SM,HM-LC-SW4-BA-PCB,HM-LC-SW4-DR,HM-LC-SW4-PCB,HM-LC-SW4-SM,HM-LC-SW4-SM-ATMEGA168,HM-LC-SW4-WM,HM-LC-Sw1-DR,HM-LC-Sw1-FM-2,HM-LC-Sw1-PCB,HM-LC-Sw1-Pl-3,HM-LC-Sw1-Pl-CT-R1,HM-LC-Sw1-Pl-CT-R2,HM-LC-Sw1-Pl-CT-R3,HM-LC-Sw1-Pl-CT-R4,HM-LC-Sw1-Pl-CT-R5,HM-LC-Sw1-Pl-DN-R1,HM-LC-Sw1-Pl-DN-R2,HM-LC-Sw1-Pl-DN-R3,HM-LC-Sw1-Pl-DN-R4,HM-LC-Sw1-Pl-DN-R5,HM-LC-Sw1-SM-2,HM-LC-Sw1PBU-FM,HM-LC-Sw2-DR-2,HM-LC-Sw2-FM-2,HM-LC-Sw2PBU-FM,HM-LC-Sw4-DR-2,HM-LC-Sw4-PCB-2,HM-LC-Sw4-SM-2,HM-LC-Sw4-WM-2,HM-MOD-EM-8Bit,HM-MOD-Em-8,HM-MOD-Re-8,HM-OU-CF-PL,HM-OU-CFM-PL,HM-OU-CFM-TW,HM-OU-CM-PCB,HM-OU-LED16,HM-PB-2-FM,HM-PB-2-WM,HM-PB-2-WM55,HM-PB-2-WM55-2,HM-PB-4-WM,HM-PB-4DIS-WM,HM-PB-4DIS-WM-2,HM-PB-6-WM55,HM-PBI-4-FM,HM-RC-12,HM-RC-12-B,HM-RC-12-SW,HM-RC-19,HM-RC-19-B,HM-RC-19-SW,HM-RC-2-PBU-FM,HM-RC-4,HM-RC-4-2,HM-RC-4-3,HM-RC-4-3-D,HM-RC-4-B,HM-RC-8,HM-RC-Dis-H-x-EU,HM-RC-KEY3,HM-RC-KEY3-B,HM-RC-Key4-2,HM-RC-Key4-3,HM-RC-P1,HM-RC-SEC3,HM-RC-SEC3-B,HM-RC-Sec4-2,HM-RC-Sec4-3,HM-SCI-3-FM,HM-SEC-KEY,HM-SEC-KEY-O,HM-SEC-KEY-S,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-MDIR-3,HM-SEC-RHS,HM-SEC-RHS-2,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-SCo,HM-SEC-SD,HM-SEC-SD-2,HM-SEC-SFA-SM,HM-SEC-TIS,HM-SEC-WDS,HM-SEC-WDS-2,HM-SEC-WIN,HM-SEN-EP,HM-SEN-MDIR-SM,HM-SWI-3-FM,HM-Sec-Cen,HM-Sec-Sir-WM,HM-Sen-DB-PCB,HM-Sen-LI-O,HM-Sen-MDIR-O,HM-Sen-MDIR-O-2,HM-Sen-MDIR-WM55,HM-Sen-RD-O,HM-Sen-Wa-Od,HM-Sys-sRP-Pl,HM-TC-IT-WM-W-EU,HM-WDC7000,HM-WDS10-TH-O,HM-WDS100-C6-O,HM-WDS100-C6-O-2,HM-WDS20-TH-O,HM-WDS30-OT2-SM,HM-WDS30-OT2-SM-2,HM-WDS30-T-O,HM-WDS40-TH-I,HM-WDS40-TH-I-2,HM-WS550,HM-WS550LCB,HM-WS550LCW,HM-WS550Tech,IS-WDS-TH-OD-S-R3,KFM-Display,KFM-Sensor,KS550,KS550LC,KS550TECH,KS888,OLIGO-smart-iq-HM,PS-Th-Sens,PS-switch,ROTO_ZEL-STG-RM-DWT-10,ROTO_ZEL-STG-RM-FDK,ROTO_ZEL-STG-RM-FEP-230V,ROTO_ZEL-STG-RM-FSA,ROTO_ZEL-STG-RM-FST-UP4,ROTO_ZEL-STG-RM-FWT,ROTO_ZEL-STG-RM-FZS,ROTO_ZEL-STG-RM-FZS-2,ROTO_ZEL-STG-RM-HS-4,ROTO_ZEL-STG-RM-WT-2,Roto_ZEL-STG-RM-FFK,Roto_ZEL-STG-RM-FSS-UP3,S550IA,Schueco_263-130,Schueco_263-131,Schueco_263-132,Schueco_263-133,Schueco_263-134,Schueco_263-135,Schueco_263-144,Schueco_263-145,Schueco_263-146,Schueco_263-147,Schueco_263-155,Schueco_263-157,Schueco_263-158,Schueco_263-160,Schueco_263-162,Schueco_263-167,Schueco_263-xxx,SensoTimer-ST-6,WDF-solar,WS888 subType:AlarmControl,KFM100,THSensor,blindActuator,blindActuatorSol,dimmer,display,keyMatic,motionAndBtn,motionDetector,outputUnit,powerMeter,powerSensor,pushButton,remote,repeater,rgb,senBright,sensRain,sensor,singleButton,siren,smokeDetector,swi,switch,thermostat,threeStateSensor,timer,tipTronic,virtual,winMatic DbLogExclude alarmDevice:Actor,Sensor alarmSettings automatik:keine,Timer_1,Timer_2,Timer_3,Weihnachten cmdIcon devStateIcon devStateStyle icon offStateName onStateName powerMap:textField-long powerMap_interval powerMap_noEnergy:1,0 powerMap_noPower:1,0 powerMap_rname_E:textField powerMap_rname_P:textField pronunciation sortby webCmd widgetOverride widget_name userattr",
"Internals": {
"CUL1_MSGCNT": "10089",
"CUL1_RAWMSG": "A0F0A861046BBA00000000A908B0E6440::-37.5:CUL1",
"CUL1_RSSI": "-37.5",
"CUL1_TIME": "2017-02-24 10:39:06",
"DEF": "46BBA0",
"LASTInputDev": "CUL1",
"MSGCNT": "10089",
"NAME": "Thermostat_Bad",
"NOTIFYDEV": "global",
"NR": "153",
"NTFY_ORDER": "50-Thermostat_Bad",
"STATE": "CMDs_done",
"TYPE": "CUL_HM",
"channel_01": "Thermostat_Bad_Weather",
"channel_02": "Thermostat_Bad_Climate",
"channel_03": "Thermostat_Bad_WindowRec",
"channel_04": "Thermostat_Bad_Clima",
"channel_05": "Thermostat_Bad_ClimaTeam",
"channel_06": "Thermostat_Bad_remote",
"lastMsg": "No:0A - t:10 s:46BBA0 d:000000 0A908B0E6440",
"protLastRcv": "2017-02-24 10:39:05",
"protSnd": "24 last_at:2017-02-24 09:33:17",
"protState": "CMDs_done",
"rssi_CUL1": "avg:-33.33 cnt:3 min:-34 max:-33 lst:-34 ",
"rssi_at_CUL1": "min:-38 avg:-37.04 cnt:10089 max:-36.5 lst:-37.5 "
},
"Readings": {
"Activity": { "Value":"alive", "Time":"2017-02-06 17:42:33" },
"CommandAccepted": { "Value":"yes", "Time":"2017-02-24 09:33:17" },
"D-firmware": { "Value":"1.4", "Time":"2016-12-23 11:01:07" },
"D-serialNr": { "Value":"NEQ2345969", "Time":"2016-12-23 11:01:07" },
"PairedTo": { "Value":"0xF16284", "Time":"2016-10-22 00:14:43" },
"R-backOnTime": { "Value":"10 s", "Time":"2016-07-09 21:23:45" },
"R-btnLock": { "Value":"off", "Time":"2016-07-13 22:35:58" },
"R-burstRx": { "Value":"on", "Time":"2016-07-09 21:23:45" },
"R-cyclicInfoMsg": { "Value":"on", "Time":"2016-07-09 21:23:45" },
"R-cyclicInfoMsgDis": { "Value":"0", "Time":"2016-07-09 21:23:45" },
"R-globalBtnLock": { "Value":"off", "Time":"2016-07-09 21:23:45" },
"R-localResDis": { "Value":"off", "Time":"2016-07-09 21:23:45" },
"R-lowBatLimitRT": { "Value":"2.1 V", "Time":"2016-07-09 21:23:45" },
"R-modusBtnLock": { "Value":"off", "Time":"2016-07-09 21:23:45" },
"R-pairCentral": { "Value":"0xF16284", "Time":"2016-07-09 21:23:45" },
"actuator": { "Value":"100", "Time":"2017-02-24 10:39:06" },
"battery": { "Value":"ok", "Time":"2017-02-24 10:39:06" },
"batteryLevel": { "Value":"2.9", "Time":"2017-02-24 10:39:06" },
"desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
"measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" },
"motorErr": { "Value":"ok", "Time":"2017-02-24 10:39:06" },
"powerOn": { "Value":"2016-10-22 00:10:01", "Time":"2016-10-22 00:10:01" },
"recentStateType": { "Value":"info", "Time":"2016-10-22 00:10:01" },
"state": { "Value":"CMDs_done", "Time":"2017-02-24 09:33:18" },
"time-request": { "Value":"-", "Time":"2017-02-24 02:54:39" }
},
"Attributes": {
"IODev": "CUL1",
"IOgrp": "VCCU",
"actCycle": "000:10",
"actStatus": "alive",
"autoReadReg": "4_reqStatus",
"event-min-interval": "desired-temp:86400,actuator:86400",
"event-on-change-reading": ".*",
"expert": "1_allReg",
"firmware": "1.4",
"model": "HM-CC-RT-DN",
"serialNr": "NEQ2345969",
"subType": "thermostat",
"webCmd": "getConfig:clear msgEvents:burstXmit"
}
},
{
"Name":"Thermostat_Bad_Clima",
"PossibleSets":"burstXmit:noArg clear:readings,trigger,register,oldRegs,rssi,msgEvents,attack,all controlManu:on,off,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0 controlMode:auto,manual,boost,day,night controlParty desired-temp:on,off,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0 getConfig:noArg getRegRaw inhibit:on,off peerBulk regBulk regSet sign:on,off sysTime:noArg tempListFri tempListMon tempListSat tempListSun tempListThu tempListTmpl tempListTue tempListWed tempTmplSet:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima ",
"PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 do_not_notify:1,0 showtime:1,0 rawToReadable unit expert:0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything param actAutoTry:0_off,1_on aesCommReq:1,0 ignore:1,0 dummy:1,0 IODev IOList IOgrp rssiLog:1,0 actCycle hmKey hmKey2 hmKey3 serialNr firmware .stc .devInfo actStatus autoReadReg:0_off,1_restart,2_pon-restart,3_onChange,4_reqStatus,5_readMissing,8_stateOnly burstAccess:0_off,1_auto msgRepeat hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger aesKey:5,4,3,2,1,0 repPeers peerIDs tempListTmpl:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima levelRange levelMap cyclicMsgOffset event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading model:ASH550,ASH550I,CCU-FHEM,CMM,DORMA_BRC-H,DORMA_RC-H,DORMA_atent,HM-CC-RT-DN,HM-CC-RT-DN-BoM,HM-CC-SCD,HM-CC-TC,HM-CC-VD,HM-Dis-EP-WM55,HM-Dis-TD-T,HM-Dis-WM55,HM-ES-PMSw1-DR,HM-ES-PMSw1-Pl,HM-ES-PMSw1-Pl-DN-R1,HM-ES-PMSw1-Pl-DN-R2,HM-ES-PMSw1-Pl-DN-R3,HM-ES-PMSw1-Pl-DN-R4,HM-ES-PMSw1-Pl-DN-R5,HM-ES-PMSw1-SM,HM-ES-TX-WM,HM-LC-AO-SM,HM-LC-BL1-FM,HM-LC-BL1-PB-FM,HM-LC-BL1-SM,HM-LC-Bl1-FM-2,HM-LC-Bl1-SM-2,HM-LC-Bl1PBU-FM,HM-LC-DDC1-PCB,HM-LC-DIM1L-CV,HM-LC-DIM1L-PL,HM-LC-DIM1T-CV,HM-LC-DIM1T-FM,HM-LC-DIM1T-PL,HM-LC-DIM2L-CV,HM-LC-DIM2L-SM,HM-LC-DIM2T-SM,HM-LC-Dim1L-CV-2,HM-LC-Dim1L-CV-644,HM-LC-Dim1L-Pl-2,HM-LC-Dim1L-Pl-3,HM-LC-Dim1L-Pl-644,HM-LC-Dim1PWM-CV,HM-LC-Dim1PWM-CV-2,HM-LC-Dim1T-CV-2,HM-LC-Dim1T-CV-644,HM-LC-Dim1T-DR,HM-LC-Dim1T-FM-2,HM-LC-Dim1T-FM-644,HM-LC-Dim1T-FM-LF,HM-LC-Dim1T-Pl-2,HM-LC-Dim1T-Pl-3,HM-LC-Dim1T-Pl-644,HM-LC-Dim1TPBU-FM,HM-LC-Dim1TPBU-FM-2,HM-LC-Dim2L-SM-2,HM-LC-Dim2L-SM-644,HM-LC-Dim2T-SM,HM-LC-Dim2T-SM-2,HM-LC-Ja1PBU-FM,HM-LC-RGBW-WM,HM-LC-SW1-BA-PCB,HM-LC-SW1-FM,HM-LC-SW1-PB-FM,HM-LC-SW1-PL,HM-LC-SW1-PL-OM54,HM-LC-SW1-PL2,HM-LC-SW1-SM,HM-LC-SW1-SM-ATMEGA168,HM-LC-SW2-DR,HM-LC-SW2-FM,HM-LC-SW2-PB-FM,HM-LC-SW2-SM,HM-LC-SW4-BA-PCB,HM-LC-SW4-DR,HM-LC-SW4-PCB,HM-LC-SW4-SM,HM-LC-SW4-SM-ATMEGA168,HM-LC-SW4-WM,HM-LC-Sw1-DR,HM-LC-Sw1-FM-2,HM-LC-Sw1-PCB,HM-LC-Sw1-Pl-3,HM-LC-Sw1-Pl-CT-R1,HM-LC-Sw1-Pl-CT-R2,HM-LC-Sw1-Pl-CT-R3,HM-LC-Sw1-Pl-CT-R4,HM-LC-Sw1-Pl-CT-R5,HM-LC-Sw1-Pl-DN-R1,HM-LC-Sw1-Pl-DN-R2,HM-LC-Sw1-Pl-DN-R3,HM-LC-Sw1-Pl-DN-R4,HM-LC-Sw1-Pl-DN-R5,HM-LC-Sw1-SM-2,HM-LC-Sw1PBU-FM,HM-LC-Sw2-DR-2,HM-LC-Sw2-FM-2,HM-LC-Sw2PBU-FM,HM-LC-Sw4-DR-2,HM-LC-Sw4-PCB-2,HM-LC-Sw4-SM-2,HM-LC-Sw4-WM-2,HM-MOD-EM-8Bit,HM-MOD-Em-8,HM-MOD-Re-8,HM-OU-CF-PL,HM-OU-CFM-PL,HM-OU-CFM-TW,HM-OU-CM-PCB,HM-OU-LED16,HM-PB-2-FM,HM-PB-2-WM,HM-PB-2-WM55,HM-PB-2-WM55-2,HM-PB-4-WM,HM-PB-4DIS-WM,HM-PB-4DIS-WM-2,HM-PB-6-WM55,HM-PBI-4-FM,HM-RC-12,HM-RC-12-B,HM-RC-12-SW,HM-RC-19,HM-RC-19-B,HM-RC-19-SW,HM-RC-2-PBU-FM,HM-RC-4,HM-RC-4-2,HM-RC-4-3,HM-RC-4-3-D,HM-RC-4-B,HM-RC-8,HM-RC-Dis-H-x-EU,HM-RC-KEY3,HM-RC-KEY3-B,HM-RC-Key4-2,HM-RC-Key4-3,HM-RC-P1,HM-RC-SEC3,HM-RC-SEC3-B,HM-RC-Sec4-2,HM-RC-Sec4-3,HM-SCI-3-FM,HM-SEC-KEY,HM-SEC-KEY-O,HM-SEC-KEY-S,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-MDIR-3,HM-SEC-RHS,HM-SEC-RHS-2,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-SCo,HM-SEC-SD,HM-SEC-SD-2,HM-SEC-SFA-SM,HM-SEC-TIS,HM-SEC-WDS,HM-SEC-WDS-2,HM-SEC-WIN,HM-SEN-EP,HM-SEN-MDIR-SM,HM-SWI-3-FM,HM-Sec-Cen,HM-Sec-Sir-WM,HM-Sen-DB-PCB,HM-Sen-LI-O,HM-Sen-MDIR-O,HM-Sen-MDIR-O-2,HM-Sen-MDIR-WM55,HM-Sen-RD-O,HM-Sen-Wa-Od,HM-Sys-sRP-Pl,HM-TC-IT-WM-W-EU,HM-WDC7000,HM-WDS10-TH-O,HM-WDS100-C6-O,HM-WDS100-C6-O-2,HM-WDS20-TH-O,HM-WDS30-OT2-SM,HM-WDS30-OT2-SM-2,HM-WDS30-T-O,HM-WDS40-TH-I,HM-WDS40-TH-I-2,HM-WS550,HM-WS550LCB,HM-WS550LCW,HM-WS550Tech,IS-WDS-TH-OD-S-R3,KFM-Display,KFM-Sensor,KS550,KS550LC,KS550TECH,KS888,OLIGO-smart-iq-HM,PS-Th-Sens,PS-switch,ROTO_ZEL-STG-RM-DWT-10,ROTO_ZEL-STG-RM-FDK,ROTO_ZEL-STG-RM-FEP-230V,ROTO_ZEL-STG-RM-FSA,ROTO_ZEL-STG-RM-FST-UP4,ROTO_ZEL-STG-RM-FWT,ROTO_ZEL-STG-RM-FZS,ROTO_ZEL-STG-RM-FZS-2,ROTO_ZEL-STG-RM-HS-4,ROTO_ZEL-STG-RM-WT-2,Roto_ZEL-STG-RM-FFK,Roto_ZEL-STG-RM-FSS-UP3,S550IA,Schueco_263-130,Schueco_263-131,Schueco_263-132,Schueco_263-133,Schueco_263-134,Schueco_263-135,Schueco_263-144,Schueco_263-145,Schueco_263-146,Schueco_263-147,Schueco_263-155,Schueco_263-157,Schueco_263-158,Schueco_263-160,Schueco_263-162,Schueco_263-167,Schueco_263-xxx,SensoTimer-ST-6,WDF-solar,WS888 subType:AlarmControl,KFM100,THSensor,blindActuator,blindActuatorSol,dimmer,display,keyMatic,motionAndBtn,motionDetector,outputUnit,powerMeter,powerSensor,pushButton,remote,repeater,rgb,senBright,sensRain,sensor,singleButton,siren,smokeDetector,swi,switch,thermostat,threeStateSensor,timer,tipTronic,virtual,winMatic DbLogExclude alarmDevice:Actor,Sensor alarmSettings automatik:keine,Timer_1,Timer_2,Timer_3,Weihnachten cmdIcon devStateIcon devStateStyle icon offStateName onStateName powerMap:textField-long powerMap_interval powerMap_noEnergy:1,0 powerMap_noPower:1,0 powerMap_rname_E:textField powerMap_rname_P:textField pronunciation sortby webCmd widgetOverride widget_name userattr",
"Internals": {
"DEF": "46BBA004",
"NAME": "Thermostat_Bad_Clima",
"NOTIFYDEV": "global",
"NR": "158",
"NTFY_ORDER": "50-Thermostat_Bad_Clima",
"STATE": "T: 13.9 desired: 18.0 valve: 100",
"TYPE": "CUL_HM",
"chanNo": "04",
"device": "Thermostat_Bad"
},
"Readings": {
"CommandAccepted": { "Value":"yes", "Time":"2017-02-24 09:33:18" },
"R-boostPeriod": { "Value":"5 min", "Time":"2016-07-09 21:25:52" },
"R-boostPos": { "Value":"80 %", "Time":"2016-07-09 21:25:52" },
"R-btnNoBckLight": { "Value":"off", "Time":"2016-07-09 21:25:52" },
"R-dayTemp": { "Value":"21 C", "Time":"2016-07-09 21:25:52" },
"R-daylightSaveTime": { "Value":"on", "Time":"2016-07-09 21:25:52" },
"R-decalcTime": { "Value":"11:00", "Time":"2016-07-09 21:25:52" },
"R-decalcWeekday": { "Value":"Sat", "Time":"2016-07-09 21:25:52" },
"R-modePrioManu": { "Value":"all", "Time":"2016-07-09 21:25:52" },
"R-modePrioParty": { "Value":"all", "Time":"2016-07-09 21:25:52" },
"R-nightTemp": { "Value":"17 C", "Time":"2016-07-09 21:25:52" },
"R-noMinMax4Manu": { "Value":"off", "Time":"2016-07-09 21:25:52" },
"R-regAdaptive": { "Value":"on", "Time":"2016-07-09 21:25:52" },
"R-reguExtI": { "Value":"15", "Time":"2016-07-09 21:25:52" },
"R-reguExtP": { "Value":"30", "Time":"2016-07-09 21:25:52" },
"R-reguExtPstart": { "Value":"30", "Time":"2016-07-09 21:25:52" },
"R-reguIntI": { "Value":"18", "Time":"2017-01-13 10:56:13" },
"R-reguIntP": { "Value":"33", "Time":"2017-01-13 10:56:13" },
"R-reguIntPstart": { "Value":"45", "Time":"2017-01-13 10:56:13" },
"R-showInfo": { "Value":"time", "Time":"2016-07-09 21:25:52" },
"R-showWeekday": { "Value":"off", "Time":"2016-07-09 21:25:52" },
"R-sign": { "Value":"off", "Time":"2016-07-09 21:23:47" },
"R-tempMax": { "Value":"30.5 C", "Time":"2016-07-09 21:25:52" },
"R-tempMin": { "Value":"4.5 C", "Time":"2016-07-09 21:25:52" },
"R-tempOffset": { "Value":"0.0K", "Time":"2016-07-09 21:25:52" },
"R-valveErrPos": { "Value":"15 %", "Time":"2016-07-09 21:25:52" },
"R-valveMaxPos": { "Value":"100 %", "Time":"2016-07-09 21:25:52" },
"R-valveOffsetRt": { "Value":"0 %", "Time":"2016-07-09 21:25:52" },
"R-winOpnBoost": { "Value":"off", "Time":"2016-07-09 21:25:52" },
"R-winOpnDetFall": { "Value":"1.4 K", "Time":"2016-07-09 21:25:52" },
"R-winOpnMode": { "Value":"on", "Time":"2016-07-09 21:25:52" },
"R-winOpnPeriod": { "Value":"15 min", "Time":"2016-07-09 21:25:52" },
"R-winOpnTemp": { "Value":"12 C", "Time":"2016-07-09 21:25:52" },
"R_0_tempListSat": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_1_tempListSun": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_2_tempListMon": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_3_tempListTue": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_4_tempListWed": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_5_tempListThu": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_6_tempListFri": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
"R_tempList_State": { "Value":"verified", "Time":"2017-01-13 10:56:13" },
"ValvePosition": { "Value":"100", "Time":"2017-02-24 10:39:06" },
"boostTime": { "Value":"-", "Time":"2017-02-24 10:39:06" },
"controlMode": { "Value":"manual", "Time":"2017-02-24 10:39:06" },
"desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
"measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" },
"partyEnd": { "Value":"-", "Time":"2017-02-24 10:39:06" },
"partyStart": { "Value":"-", "Time":"2017-02-24 10:39:06" },
"partyTemp": { "Value":"-", "Time":"2017-02-24 10:39:06" },
"recentStateType": { "Value":"ack", "Time":"2017-02-24 09:33:18" },
"state": { "Value":"T: 13.9 desired: 18.0 valve: 100", "Time":"2017-02-24 10:39:06" }
},
"Attributes": {
"event-min-interval": "desired-temp:86400,ValvePosition:86400",
"event-on-change-reading": ".*",
"model": "HM-CC-RT-DN",
"peerIDs": "00000000,",
"room": "Heizung"
}
} ],
"totalResultsReturned":2
}
Beispiel mit values:
https://meineseite:8443/drham?cmd=jsonlist2%20WEB%2CThermostat_Bad%2CThermostat_Bad_Clima%20measured-temp%20desired-temp%20Activity&fwcsrf=&XHR=1
{
"Arg":"WEB,Thermostat_Bad,Thermostat_Bad_Clima measured-temp desired-temp Activity",
"Results": [
{
"Name":"Thermostat_Bad",
"Internals": { },
"Readings": {
"Activity": { "Value":"alive", "Time":"2017-02-06 17:42:33" },
"desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
"measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" }
},
"Attributes": { }
},
{
"Name":"Thermostat_Bad_Clima",
"Internals": { },
"Readings": {
"desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
"measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" }
},
"Attributes": { }
} ],
"totalResultsReturned":2
}
Eventuell wäre es auch eine Idee, wenn sich der jsonlist2 Befehl alternativ als Parameter in der jeweiligen html Datei angeben ließe.
Dann könnte mal auch die Anfrage selbst optimieren (mit Wildcards und so).... nur eine Fixe Idee 8)
Durchaus eine valide Frage. Beim longpoll habe ich solch einen individuellen Filter per Meta Tag
Für das ShortPoll (jsonlist2) kann ich das noch bauen. Aber die Liste der abonnierten Readings habe ich ja intern schon, brauche ich dem Befehl nur mitgeben.
Zitat von: setstate am 24 Februar 2017, 11:08:39
Durchaus eine valide Frage. Beim longpoll habe ich solch einen individuellen Filter per Meta Tag
Gibts da schon ein Beispiel/Doku dazu. Derzeit ist ja viel los auf der Wiki Seite ;D
Zitat von: setstate am 24 Februar 2017, 11:08:39
Für das ShortPoll (jsonlist2) kann ich das noch bauen. Aber die Liste der abonnierten Readings habe ich ja intern schon, brauche ich dem Befehl nur mitgeben.
Das gibt sicher eine extreme Reduzierung der Ladezeit.
Worauf ich mit dem letzten Satz hinaus wollte ist folgendes.
Alles Schalter beginnen Beispielsweise mit switch_, die Thermostate mit Thermostat_
Wenn ich sowieso alle Thermostate auf einer Seite habe dann kann ich auch Thermostat_.* verwenden anstelle einer Liste aller Thermostate.
Ebenso bei den Schaltern.... aber im Gegensatz zum angeben der Readings in der jsonlist2 ist das von der Datenreduzierung sicher nicht so extrem.
Hallo zusammen,
ich habe auf das 2.6 upgedatet, fast ohne größere Probleme (ich habe beim Update auf 2.5 eine große Baustelle gehabt). Ich wollte mir demnächst auch eine UI für Smartphones basteln, dazu habe ich ein Beispiel vom Roman genommen. Das hatte mit 2.5 funktioniert seit dem Update auf 2.6 bekomme ich folgenden Fehler:
Error
ShortPoll Request Failed, will retry in 3s
parsererror, SyntaxError: Unexpected end of JSON input
Habt Ihr eine Idee was es sein kann. Wenn ich die Index.html leer lasse dann kommt die Meldunng nicht, aber solbald ich irgendein Widget egal was einsetze dann bekomme ich die Meldung.
Danke Vorab
Gruß Eddie
Mahlzeit,
ich habe ein merkwürdiges Problem mit einem Circlemenu. Ob es an V2.6 liegt kann ich jedoch nicht sagen.
Ich habe zum einen dieses Circle-Menu, das funktioniert problemlos:
<div data-type="circlemenu"
data-border="round"
data-item-width="78"
data-circle-radius="130"
data-direction="top-half"
class="big">
<ul>
<li><div data-type="symbol" data-icon="oa-it_radio"></div></li>
<li><div data-type="image" data-url="../images/logos/rockantenne.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist RockAntenne"></div></li>
<li><div data-type="image" data-url="../images/logos/1Live.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist 1Live"></div></li>
<li><div data-type="image" data-url="../images/logos/wdr4.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist WDR4"></div></li>
<li><div data-type="image" data-url="../images/logos/wmw.png" data-size="70%" data-fhem-cmd="set KUE_MPD playlist WMW"></div></li>
</ul>
</div>
Dann habe ich in der gleichen .html, sogar im selben gridster, ein weiteres Circle-Menu:
<div data-type="circlemenu"
data-border="round"
data-item-width="78"
data-circle-radius="130"
data-direction="top-half"
class="big">
<ul>
<li><div data-type="symbol" data-icon="fa-tv"></div></li>
<li><div data-type="image" data-url="../images/logos/vox_hd.png" data-size="70%" data-fhem-cmd="set KUE_Kodi openchannelid 106;trigger KUE_Kodi fullscreen on"></div></li>
<li><div data-type="image" data-url="../images/logos/kabel_hd.png" data-size="60%" data-fhem-cmd="set KUE_Kodi openchannelid 18;trigger KUE_Kodi fullscreen on"></div></li>
<li><div data-type="image" data-url="../images/logos/wdr.png" data-size="85%" data-fhem-cmd="set KUE_Kodi openchannelid 32;trigger KUE_Kodi fullscreen on"></div></li>
<li><div data-type="image" data-url="../images/logos/discovery.png" data-size="80%" data-fhem-cmd="set KUE_Kodi openchannelid 113;trigger KUE_Kodi fullscreen on"></div></li>
</ul>
</div>
Das zweite Circle-Menu provoziert eine Error-Message:
"Error while longpoll (websocket) undefined."
Wenn ich in FHEMWEB attr longpoll auf 1 setze ist der Error weg.
Jemand eine Idee dazu?
Danke!
grtz
CmdA
Hi,
hab heut auf fhem 5.8 hochgezogen. Ftui 2.6.6 per git pull.
es werden keine plots in charts angezeigt. Außerdem keine anzeige von readingsgroup.
fehlermeldung kommt keine.
hat jemandne idee, woran es liegen kann?
Hatte das gleiche Problem
attr <WEBDEVICE> csrfToken none
und meine charts waren wieder da.
Markus
Cheers, das wars. Danke
Seit 2.6.6 kann die Navigationsleiste nicht mehr richtig ausgerichtet werden.
Ich möchte gerne die links auf die linke Seite ausrichten.
left-narrow habe ich in einer eigenen css definiert. Das wird jedoch zu weit links angezeigt.
.left-narrow-5 {
margin-left: -5px !important
}
Wie kann die breite von dem <nav id="menu"> festgelegt werden?
Hi!
Sorry, muss das Thema nochmal bumpen, da das Problem unverändert existiert. Gibt es dazu schon Erkenntnisse?
Patrick
Zitat von: PatrickR am 22 Februar 2017, 20:33:37
Mahlzeit!
Das CSRF-Update funktioniert bei mir leider auch nicht:
2017.02.22 20:25:00.072 3: FHEMWEB WEB_FTUI CSRF error: ne test. For detals see the csrfToken FHEMWEB attribute
Man sieht auch sehr schön, wie Tablet UI leere CSRF-Tokens verschickt:
# tcpdump -A -i eth0 'port 8088 and (host 192.168.0.150 or host 192.168.0.151)'|grep --color=auto -i fwcsrf
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
cmd=get+HM_BVG+Botanischer-Garten&fwcsrf=&XHR=1
Konfiguration:
<meta name='web_device' content='WEB_FTUI'>
<meta name="fhemweb_url" content="http://XXX:8088/fhem">
Patrick
Nein, wüsste nicht, was bei dir schief läuft.
Hat WEB_FTUI den Token als Attribute sichtbar?
Wenn du die Seite "http://XXX:8088/fhem" aufrufst, ist im Response Header der csrfToken enthalten?
Hi!
Zitat von: setstate am 25 Februar 2017, 20:21:46
Nein, wüsste nicht, was bei dir schief läuft.
Zitat von: setstate am 25 Februar 2017, 20:21:46
Hat WEB_FTUI den Token als Attribute sichtbar?
Nein. Der Default random greift, ist aber nicht explizit gesetzt. Wenn ich csrfToken von WEB_FTUI explizit auf random setze, ist das Fehlerbild unverändert.
Zitat von: setstate am 25 Februar 2017, 20:21:46
Wenn du die Seite "http://XXX:8088/fhem" aufrufst, ist im Response Header der csrfToken enthalten?
Ja:
% curl -s -D- -o /dev/null http://fhem:8088/fhem
HTTP/1.1 200 OK
Content-Length: 5502
Access-Control-Allow-Methods: GET POST OPTIONS
Access-Control-Allow-Headers: Origin, Authorization, Accept
Access-Control-Allow-Credentials: true
Access-Control-Max-Age:86400
X-FHEM-csrfToken: fhem_195738783016113
Content-Type: text/html; charset=UTF-8
Interessanterweise erscheint zu 99% nur der Fehler "Shortpoll request failed....".
ftui.poll.lastEventTimestamp.hhmmss() ändert sich nach einer gewissen Zeit regelmäßig.
ftui.poll.lastUpdateTimestamp.hhmmss() steht auf 00:00:00
ftui.poll.lastDevice, lastReading etc. bleiben leer.
Patrick
Gibt es denn auch schon eine Lösung zu den permanenten dis- und reconnects mit den websockets wie weiter oben beschrieben?
Nein, es gibt nix neues und keine Lösung.
Ich bin aber auch nicht auf der Suche, mangels an Analyse-Input von Betroffenen.
Zitat von: setstate am 26 Februar 2017, 09:50:20
Ich bin aber auch nicht auf der Suche, mangels an Analyse-Input von Betroffenen.
https://forum.fhem.de/index.php/topic,66879.msg586517.html#msg586517 (https://forum.fhem.de/index.php/topic,66879.msg586517.html#msg586517) bzw. https://forum.fhem.de/index.php/topic,66879.msg587151.html#msg587151 (https://forum.fhem.de/index.php/topic,66879.msg587151.html#msg587151) ;)
Die frische Installation existiert noch. Sag einfach, was du wissen musst.
Da muss einfach mal jemand sich Breakpoints im Debugger setzen: was wird aufgerufen und was sind die einzelnen Attribute des Response Objekts.
Zitat von: setstate am 26 Februar 2017, 12:34:25
Da muss einfach mal jemand sich Breakpoints im Debugger setzen: was wird aufgerufen und was sind die einzelnen Attribute des Response Objekts.
Befürchte, das übersteigt etwas meine Kompetenz. Ich kann dich aber gerne mit dem Browser auf die Testinstanz lassen, wenn du möchtest.
Moin,
kann es sein, dass data-shortdelay="600" beim Spinner ignoriert wird in der aktuellen Version?
/Daniel
Zitat von: drhirn am 26 Februar 2017, 12:55:46
Befürchte, das übersteigt etwas meine Kompetenz. Ich kann dich aber gerne mit dem Browser auf die Testinstanz lassen, wenn du möchtest.
geht mir genauso, denn ich hatte ja hier (https://forum.fhem.de/index.php/topic,66879.msg592087.html#msg592087) auch etwas dazu getan und dachte das dies reicht um evtl die Abbrüche zu finden...
Aber meine beiden Angaben sehen ja genauso aus wie bei dir, nur weiß ich nicht was ich tun kann und was dies zu bedeuten hat... :-\ :-\
Zitat von: drhirn am 16 Februar 2017, 14:35:19
@setstate:
Habe gerade eine frische FHEM und FTUI Installation gemacht. Und zwar genau so, wie hier (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Installation) beschreiben. Ansonsten keinerlei Änderungen, außer, dass ich einen Dummy angelegt habe.
Kann mit der Installation die "Disconnected from FHEM"-Probleme nachvollziehen. Und zwar mit FHEMWEB longpoll websocket (oft) und ajax (weniger oft). Meine index.html ist die Original index-example.html. Und wie's scheint, ändern auch META Einträge bzgl. longpoll_type nichts an der Tatsache.
Ich häng mal ein Screenshot der FF Console an. Wenn ich dir sonst noch Infos liefern kann, meld dich einfach.
Laut dem Log ist seit xxxxxxxxxxxxxxxx Sekunden kein Event reingekommen. Da denkt der Healthcheck, es stimmt was nicht und startet von sich aus neu. Das ist kein Abbruch durch Fehler, sondern ein autom. Reconnect.
Hast du Devices und Readings auf deiner Seite, die Events liefern? Wenn nicht kannst du longpoll auf 0 setzen. Dann wird da auch nix versucht.
Zitat von: setstate am 26 Februar 2017, 14:03:32
Laut dem Log ist seit xxxxxxxxxxxxxxxx Sekunden kein Event reingekommen. Da denkt der Healthcheck, es stimmt was nicht und startet von sich aus neu. Das ist kein Abbruch durch Fehler, sondern ein autom. Reconnect.
Hast du Devices und Readings auf deiner Seite, die Events liefern? Wenn nicht kannst du longpoll auf 0 setzen. Dann wird da auch nix versucht.
Hmm, genau die Überlegung hatte ich vor kurzem vor'm Einschlafen auch schon mal. Fällt mir jetzt gerade ein, wo du's erwähnst. Leider hab ich dann am Morgen nicht mehr dran gedacht. Ich brauch jetzt dann endlich mal Zettel und Stift neben dem Bett.
Nein, gibt natürlich keine Devices, die etwas liefern könnten. Somit ist das Verhalten klar. Danke für die Info!
@setstate:
Meine CircleMenus machen auf den Tabletts und Smartphones neuerdings nach Auswahl nicht mehr sofort zu - es dauert bis zu 3-4 Sek. bis diese schließen. An den PC-Browsern wird sofort geschlossen. Habe mich auch schon durch das widget und das Plugin gewählt, scheint als wird da ein Event nicht mehr getriggert und er schließt somit erst nach de Wartezeit. In meiner alten Prod- Instanz ist das nicht so?
Hi setstate,
ich habe ein Alive Device in FHEM, das liefert jede sekunde ein Readings update. dieses wird auch in fhem angezeigt.
Mit longpoll = 1 funktioniert ein Update im ftui, mit longpoll = websocket kommen immer die beschriebenen dis- und reconnects
welchen Vorteil liefert ein websocket? Ich kann es doch auch auf 1 = AJAX stehen lassen..??
Kann es sein, dass es ein Problem gibt, wenn internals, Readings oder Attribute eines Devices gleich heissen?
Ich habe ein SYSSTAT device in Betrieb, der ein Attribut uptime hat, mit dem das Reading uptime eingeschaltet wird. Beim ersten Lesen der Seite gewinnt das Attribut, nach dem ersten update wird dann das Reading angezeigt werden.
Vermutlich kein ganz einfaches Problem aber auch kein neues, ich hatte aber erst heute Zeit danach mal zu schauen.
Ist bei FTUI alles eins. Es gibt nur Readings. Wenn es gleiche Namen gibt, siegt die Reihnenfolge beim Einlesen. Gross und Kleinschreibung würde schon Unterscheidung bringen.
Hi
habe soeben von 2.6.2 auf 2.6.6 aufgerüstet. Nun geht mein wdtimer widget nicht mehr auf. Hatte das Problem schon mal bei älteren Versionen. Konnte dort das Problem lösen indem ich den alten wdimer.js benutzt habe. Nach dem kompletten Update auf 2.6.2 musste ich das nicht mehr. Nun mit dem 2.6.6 Update geht keiner der js mehr, heißt beim klick auf das symbol geht es nicht mehr auf. Hat jemand einen TIPP für mich!!
Zitat von: myhome am 26 Februar 2017, 20:09:54
Hi
habe soeben von 2.6.2 auf 2.6.6 aufgerüstet. Nun geht mein wdtimer widget nicht mehr auf. Hatte das Problem schon mal bei älteren Versionen. Konnte dort das Problem lösen indem ich den alten wdimer.js benutzt habe. Nach dem kompletten Update auf 2.6.2 musste ich das nicht mehr. Nun mit dem 2.6.6 Update geht keiner der js mehr, heißt beim klick auf das symbol geht es nicht mehr auf. Hat jemand einen TIPP für mich!!
Das gleiche Problem habe ich leider schon seit einigen versionen.... wäre super wenn das jemand fixen könnte... kann meine heiz-zeiten nicht mehr "online" ändern.
@setstate ... habe heute ein wenig mit 'nem pagebutton experimentiert. Ich habe ja die slideout-variante mit link-widgets. im header habe ich ein symbol welches mir einen status anzeigt (gds)... nun wollte ich schon immer auf dieses symbol klicken um die seite "content_dwd.html" zu laden.
Geht mit pagebutton... hurra ... allerdings wird in der addresszeile der hash (#) nicht angehängt und somit ändert sich auch nicht der seitentitel (#linkname). Kannst du da was zaubern?
Grüße^^
Zitat von: setstate am 26 Februar 2017, 18:38:54
Ist bei FTUI alles eins. Es gibt nur Readings. Wenn es gleiche Namen gibt, siegt die Reihnenfolge beim Einlesen. Gross und Kleinschreibung würde schon Unterscheidung bringen.
Ja das war meine Vermutung, allerdings sind das innerhalb von FHEM getrennte Namensräume, es gibt da vermutlich noch mehr Konflikte (Gerade zwischen internals und readings). Warum werden überhaupt die Attribute gelesen?
Gibt es eine Möglichkeit das zu verändern? Zumindest so, dass Readings als letztes gelesen werden?
Zitat von: setstate am 26 Februar 2017, 12:34:25
Da muss einfach mal jemand sich Breakpoints im Debugger setzen: was wird aufgerufen und was sind die einzelnen Attribute des Response Objekts.
Hallo,
ich habe auch reconnects, wenn websocket aktiviert ist. Mit meinen geringen Kenntnissen in JS hab ich 2 Breakpoints (siehe Screenshots) gesetzt... Vielleicht kann man damit den Fehler weiter eingrenzen?
Viele Grüße
Zitat von: viegener am 26 Februar 2017, 21:29:04
Ja das war meine Vermutung, allerdings sind das innerhalb von FHEM getrennte Namensräume, es gibt da vermutlich noch mehr Konflikte (Gerade zwischen internals und readings). Warum werden überhaupt die Attribute gelesen?
Warum es so ist weiß ich nicht, aber ich nutze auch Attribute in FTUI. Z.b. um den Weekdaytimer zu aktivieren/deaktivieren.
Gesendet von meinem HTC One mit Tapatalk
Zitat von: viegener am 26 Februar 2017, 21:29:04
Ja das war meine Vermutung, allerdings sind das innerhalb von FHEM getrennte Namensräume, es gibt da vermutlich noch mehr Konflikte (Gerade zwischen internals und readings). Warum werden überhaupt die Attribute gelesen?
Gibt es eine Möglichkeit das zu verändern? Zumindest so, dass Readings als letztes gelesen werden?
Die Reihenfolge kann ich ändern. Ich setze sie jetzt auf Internals,Attributes,Readings
Zitat von: Tobias am 26 Februar 2017, 16:54:25
Hi setstate,
ich habe ein Alive Device in FHEM, das liefert jede sekunde ein Readings update. dieses wird auch in fhem angezeigt.
Mit longpoll = 1 funktioniert ein Update im ftui, mit longpoll = websocket kommen immer die beschriebenen dis- und reconnects
welchen Vorteil liefert ein websocket? Ich kann es doch auch auf 1 = AJAX stehen lassen..??
bis FTUI 2.5 war ajax die einzige Möglichkeit. Du kannst beruhigt auf ajax laufen lassen, mache ich bei meinem Tablet (aus Mangel an Websocket Support) auch. Ich denke aber, mit Websockt ist es Ressourcen-schonender und stabiler.
Zitat von: igsi am 26 Februar 2017, 22:42:37
Hallo,
ich habe auch reconnects, wenn websocket aktiviert ist. Mit meinen geringen Kenntnissen in JS hab ich 2 Breakpoints (siehe Screenshots) gesetzt... Vielleicht kann man damit den Fehler weiter eingrenzen?
Viele Grüße
Sagt die Fehlermeldung irgend jemanden etwas? Mir nicht.
Aber wie gesagt, Websocket zu nutzen ist keine Pflicht. Seht es als experimentelles Feature an.
Mal eine Zwischenbemerkung: Bei mir läuft Websocket ausgesprochen stabil, sowohl auf dem Desktop in Chrome, auf dem iPhone in Safari als auch auf dem Android Tablet in Kiosk Browser. AJAX machte da deutlich mehr Ärger.
Von unterwegs gesendet.
Geht mir gefühlt auch so.
Hallo zusammen da mein Post schon ein Paar Seiten zurückgefallen ist wollte ich diesen etwas pushen Sorry!
ich bekomme seit dem Update auf 2.6 diese Fehler:
Error
ShortPoll Request Failed, will retry in 3s
parsererror, SyntaxError: Unexpected end of JSON input
Habt Ihr eine Idee was es sein kann. Wenn ich die Index.html leer lasse dann kommt die Meldunng nicht, aber solbald ich irgendein Widget egal was einsetze dann bekomme ich die Meldung.
Wenn ihr mehr Infos braucht sagt bescheid was ihr wissen müsst, um den Fehler einzugrenzen.
Danke Vorab
Gruß Eddie
Zitat von: setstate am 27 Februar 2017, 06:51:30Sagt die Fehlermeldung irgend jemanden etwas? Mir nicht.
Scheint eine Internet Explorer spezifische Fehlermeldung (https://support.microsoft.com/nl-nl/help/193625/info-wininet-error-codes-12001-through-12156) zu sein.
Schon jemand auf das selbe Problem gestoßen?
Ich muss mich alle 2-3 Sekunden per Passwort anmelden (htpasswd). Ein Abbruch führt zum Disconnect.
Seit dem heutigen Update ist das so :'(
Welcher Browser?
ZitatChrome
Version 56.0.2924.87
An der Version des Browsers hat sich nichts geändert seit 'vor dem Fehler' und jetzt :-)
Hast du im Server Authentication an?
Zitat von: PatrickR am 27 Februar 2017, 08:49:24
Mal eine Zwischenbemerkung: Bei mir läuft Websocket ausgesprochen stabil, sowohl auf dem Desktop in Chrome, auf dem iPhone in Safari als auch auf dem Android Tablet in Kiosk Browser. AJAX machte da deutlich mehr Ärger.
Von unterwegs gesendet.
Hi, kann mich nur anschließen...Websock inkl CSRF-Token läuft top. Sowohl vom Tablet (Android 5 mit FullyBrowser), als auch vom Mac mit Firefox&Safari.
VG
Christian
Zitat von: setstate am 27 Februar 2017, 12:03:47
Hast du im Server Authentication an?
Meinst du diesen csrf-Token?
Der steht auf none im Device WEB
Nein, basicAuth
Zitat von: roman1528 am 26 Februar 2017, 20:15:25
Das gleiche Problem habe ich leider schon seit einigen versionen.... wäre super wenn das jemand fixen könnte... kann meine heiz-zeiten nicht mehr "online" ändern.
@setstate ... habe heute ein wenig mit 'nem pagebutton experimentiert. Ich habe ja die slideout-variante mit link-widgets. im header habe ich ein symbol welches mir einen status anzeigt (gds)... nun wollte ich schon immer auf dieses symbol klicken um die seite "content_dwd.html" zu laden.
Geht mit pagebutton... hurra ... allerdings wird in der addresszeile der hash (#) nicht angehängt und somit ändert sich auch nicht der seitentitel (#linkname). Kannst du da was zaubern?
Grüße^^
Bei mir wird der Link auch aufgerufen, sogar der Hash wird angehängt .... allerdings bekommt es das DIV mit id="linkname" nicht mit, wenn der Link nicht innerhalb einer <nav></nav> steht ... wieso auch immer?
Zitat von: setstate am 27 Februar 2017, 12:26:02
Nein, basicAuth
Ja war angegeben, kill und nochmal:
ZitatInternals:
CFGFN
NAME allowedWEB
NR 4300
STATE validFor:WEB,WEBphone,WEBtablet
TYPE allowed
validFor WEB,WEBphone,WEBtablet
Readings:
2017-02-27 12:32:01 state validFor:WEB,WEBphone,WEBtablet
Attributes:
basicAuth YW....==
validFor WEB,WEBphone,WEBtablet
Dann musst du diesen als Meta "credentials" im Header deiner HTML angeben. Ich hoffe, du hast kein Chart auf der Startseite, da muss ich noch was richten heute Abend.
Drin und ja hab ich :-)
Dann bin ich geduldig... :P
Ich habe eben ein Update gemacht.
Jetzt bekomme ich so alle 3s Fehler (vor dem Update funktionierte es):
FTUI läuft auf einem Apache der mit basicAuth abgesichert ist. FHEM über reverseproxy auch.
Beide haben den selben login. FHEMWEB selbst hat keine Authentifizierung.
get jsonlist2: Timer gestartetfhem-tablet-ui.js:704
start shortpoll in (ms):30000 fhem-tablet-ui.js:1645:13
GET
XHR
https://meinserver.de:8443/fhem [HTTP/1.1 401 Unauthorized 15ms]
shortPoll request failed: error, Unauthorized fhem-tablet-ui.js:1645:13
start shortpoll in (ms):3000
Anfragekopfzeilen:
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate, br
Accept-Language de,en-US;q=0.7,en;q=0.3
Authorization Basic undefined
Connection keep-alive
DNT 1
Host meinserver.de:8443
Referer https:/meinserver.de:8443/ftuib/index_m_adl.html
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
X-Requested-With XMLHttpRequest
Bei Authorization stand vorher anstelle von undefined ein Token drin
Die Antwort vom get ist:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
Muss für "readingfilter" eigentlich etwas konfiguriert werden?
Wird der auch für longpoll verwendet? Oder ist das da irrelevant weil nur die Änderungen gepushed werden?
Hallo,
nach dem Update heute kommt nach ein paar Minuten immer das Fenster der Userabfrage. Er akzeptiert aber nichts. Erst ein Reload der ganzen Seite schafft Abhilfe für ein paar Minuten.
Ich nutze den Ajxa Mode.
/Daniel
Hi,
nach dem Update heute kommen keine charts mehr zur anzeige, egal wie das attr csrfToken steht [0, none, random]
ich hab die Änderungen in widgets_chart.js (Zeile 1633ff) bei mir rückgängig gemacht/auskommentiert:
// fwcsrf: ftui.config.csrf
},
// xhrFields: {
// withCredentials: (ftui.config.credentials) ? true : false
// },
// headers: {
// 'Authorization': 'Basic ' + btoa(ftui.config.credentials)
// },
Noch ein Nachtrag zu meine Fehler. Ich bekomme diesen Eintrag in der FHEM Log wenn ich die Seite aufrufe:
FHEMWEB WEB CSRF error: ne fhem_171890225194494. For detals see the csrfToken FHEMWEB attribute
Also irgend etwas ist da faul. Ich habe jetzt die Web Instanz auch auf Ajax umgestellt (stand noch auf websocket). TabletUI steht sowieso auf ajax und diese token sind auf none. Ich fliege aber nach ein paar Minuten aus der session und kann mich mit dem sonst funktionierenden usernamen auch nicht mehr einloggen. Das passiert nur wenn TabletUI offen ist. Habe ich die normal FHEM WebGUI offen läuft alles.
Bin ich der einzige mit dem Problem?
/Daniel
Ich bin dran. Bitte kein Update ziehen derzeit.
Hallo,
ich habe einige Widget "Checkbox", bei einigen verwende ich das Doubleclick-Attribte um eine Pause nach einer Bedienung zu erzwingen.
Das funktioniert leider nicht mehr (wobei ich nicht weiß seit welcher Version), man kann ohne Pause in und her schalten.
Hier ein Beispiel:
<div data-type="checkbox"
data-device="HeizungnaechsteWoche"
...
data-doubleclick="3000"
....
>
Kann das jemand bestätigen?
Viele Grüße
Christian
So, ich habe mal ein Update gemacht, viel zerstören konnte ich ohnehin nicht 8)
Das Token wird wieder übergeben und der readingfilter hat die Geschwindigkeit enorm gesteigert.
Super Arbeit Setstate!
Wird der readingfilter für shor- und longpoll verwendet?
Danke!
Für longpoll setzte ich keinen automatischen Filter. Longpoll wird schon gestartet, bevor alle Subscriptions eingesammelt wurden. Ich könnte es jedesmal neu starten (???) ...
Man kann aber per Meta Tag "longpoll_filter" fest setzen
Hallo,
seit Update auf 2.6 werden die readingsgroups nicht mehr angezeigt - alles andere funktioniert. Was kann die Ursache sein?
Gruß
Alex
Bei Readingsgroup habe ich den csrfToken noch nicht eingebaut.
FHEM lehnt damit jegliche Anfragen ab.
Zitat von: setstate am 28 Februar 2017, 14:22:33
Für longpoll setzte ich keinen automatischen Filter. Longpoll wird schon gestartet, bevor alle Subscriptions eingesammelt wurden. Ich könnte es jedesmal neu starten (???) ...
Der Metatag ist auch nicht verkehrt. Man könnte ja ein eigenes attribut anlegen, das für jedes Device was ins FTUI soll gesettz wird. Aber dann werden immer noch alle Redings dieser Devices gepushed, oder?
Wenn das mit dem neu starten sich einbauen lässt ist das sicher eine komfortablere Lösung.
So oder so wird damit einiges an Traffic rausgenommen.
Ist es möglich das simplechart nicht mehr unter 2.6 läuft?
Ich bekomme nur leere Diagramme, chart funktioniert aber.
csrfToken ist bei mir deaktiviert
Nö, geht bei mir auch mit csrf.
Verstehe ich mal wieder was nicht?
Ich habe in der index.html das hier entkommentiert
<link rel="stylesheet" href="css/fhem-green-ui.css" />
In meiner naiven Vorstellung bin ich davon ausgegangen, daß dies die Farben der Tablet UI ändert, da tut sich aber rein gar nix.
Muß man da noch was entkommentieren?
Zitat von: setstate am 27 Februar 2017, 18:22:51
Ich bin dran. Bitte kein Update ziehen derzeit.
Läuft wieder, danke! (Das mit der re-auth nach einigen Minuten)
/Daniel
Zitat von: setstate am 28 Februar 2017, 16:35:53
Nö, geht bei mir auch mit csrf.
Habe nochmal ein bisschen rumprobiert:
Über die HTTPSRV Variante funktioniert es. Die Werte werden angezeigt.
Über Apache allerdings nicht (es ist die gleiche html Datei)
Die Verzeichnisstruktur ist auch identisch:
host.ip/pgm2
host.ip/tablet
host.ip/tablet/css
host.ip/tablet/js
...
host.ip/tablet/lib
im Log ist mir aber auch nichts aufgefallen und bei der 2.5er funktionierte es auch
In der widget_simplechart.js
muss Zeile 108 von:
url: ftui.config.fhem_dir,
auf:
url: ftui.config.fhemDir,
geändert werden. Sonst wird das Verzeichnis, in dem sich die html Datei befindet als FHEM Verzeichnis verwendet.
Könntest du auch bitte bei der Auswertung von fhemweb_url einbauen, das wenn nur "/fhem" oder so drin steht "location.origin" davor gehängt wird?
Da ich lokal mit Ip zugreifen möchte und remote mit dyndns Name kann ich nicht die komplette URL angeben.
Vorschlag ab Zeile 360 fhem-tablet-ui.js:
ftui.config.fhemDir = $("meta[name='fhemweb_url']").attr("content") || location.origin + "/fhem/";
ftui.config.fhemDir = ftui.config.fhemDir.replace(/^\//, location.origin + '/');
ftui.config.fhemDir = ftui.config.fhemDir.replace('///', '//');
Edit:
Zeile 1620 der widget_chart.js sollte vermutlich auch auf ftui.config.fhemDir umgestellt werden. Sonst würde mein Vorschlag sicher nicht funktionieren 8)
Edit2:
folgende Files nutzen auch direkt fhemweb_url aus den Metadaten
js/widget_highchart.js
js/widget_wdtimer.js
js/widget_fullcalview.js
js/widget_weekprofile.js
js/widget_svgplot.js
js/widget_weather.js
js/widget_chart.js
js/widget_readingsgroup.js
js/widget_highchart3d.js
Hallo Klaus
Ich greife lokal auch via IP und von extern via dynDNS zu.
Ich habe den meta "fhemweb_url" überhaupt nicht gesetzt und hatte bisher noch keine Probleme,
FTUI hat immer den richtigen Weg gefunden.
Gruss Peter
Hi!
Zitat von: Chris8888 am 27 Februar 2017, 12:10:43
Hi, kann mich nur anschließen...Websock inkl CSRF-Token läuft top. Sowohl vom Tablet (Android 5 mit FullyBrowser), als auch vom Mac mit Firefox&Safari.
VG
Christian
Von der CSRF-Lobpreisung möchte ich mich ausdrücklich distanzieren. Die funktionierte bei mir - im Gegensatz zu websocket - noch nie. :(
Patrick
Zitat von: Brause am 28 Februar 2017, 18:51:41
Ich greife lokal auch via IP und von extern via dynDNS zu.
Ich habe den meta "fhemweb_url" überhaupt nicht gesetzt und hatte bisher noch keine Probleme,
FTUI hat immer den richtigen Weg gefunden.
Das könnte bei meiner ersten FHEM Instanz funktionieren, da sie unter host/fhem läuft
Aber meine zweite FHEM Instanz läuft z.B. unter host/nocheinfhem
Spätestens dann funktioniert es nicht mehr.
Zitat von: PatrickR am 28 Februar 2017, 19:05:53
Hi!
Von der CSRF-Lobpreisung möchte ich mich ausdrücklich distanzieren. Die funktionierte bei mir - im Gegensatz zu websocket - noch nie. :(
Patrick
Ich habe gerade festgestellt, wenn ich über Portweiterleitung auf FHEM zugreife, klappt csrf nicht. Habe also Potential zum Debuggen gefunden ...
Hi!
Zitat von: setstate am 28 Februar 2017, 19:34:51
Ich habe gerade festgestellt, wenn ich über Portweiterleitung auf FHEM zugreife, klappt csrf nicht. Habe also Potential zum Debuggen gefunden ...
Ich habe auch gerade mal geschaut. Das Problem ist möglicherweise irgendein Cross-Origin-Schutz. FHEMWEB antwortet korrekt mit dem Header (mit Dump verifiziert), aber jqXHR.getResponseHeader('X-FHEM-csrfToken'); gibt null zurück, d. h. irgendwo auf Clientseite wird der Wert vernichtet. jqXHR.responseText ist spannenderweise korrekt. CORS habe ich übrigens in der zugehörigen Web-Instanz gesetzt.
Patrick
Mahlzeit!
So, Problem gelöst:
# diff -uNr /root/01_FHEMWEB.pm.org 01_FHEMWEB.pm
--- /root/01_FHEMWEB.pm.org 2017-02-26 13:30:46.000000000 +0100
+++ 01_FHEMWEB.pm 2017-02-28 20:15:01.453108173 +0100
@@ -422,7 +422,8 @@
"Access-Control-Allow-Methods: GET POST OPTIONS\r\n".
"Access-Control-Allow-Headers: Origin, Authorization, Accept\r\n".
"Access-Control-Allow-Credentials: true\r\n".
- "Access-Control-Max-Age:86400\r\n" : "");
+ "Access-Control-Max-Age:86400\r\n".
+ "Access-Control-Expose-Headers: X-FHEM-csrfToken\r\n": "");
$FW_headerlines .= "X-FHEM-csrfToken: $defs{$FW_wname}{CSRFTOKEN}\r\n"
if($defs{$FW_wname}{CSRFTOKEN});
Das überredet den Browser zur Kooperation (wenn CORS gesetzt ist). Praktischerweise musst Du an TabletUI nichts ändern.
/Edit: Gerade gemerkt, dass das Problem schonmal unabhängig von TabletUI andiskutiert wurde: https://forum.fhem.de/index.php/topic,67848.0.html
Patrick
Zitat von: PatrickR am 28 Februar 2017, 20:20:43
Mahlzeit!
So, Problem gelöst:
# diff -uNr /root/01_FHEMWEB.pm.org 01_FHEMWEB.pm
--- /root/01_FHEMWEB.pm.org 2017-02-26 13:30:46.000000000 +0100
+++ 01_FHEMWEB.pm 2017-02-28 20:15:01.453108173 +0100
@@ -422,7 +422,8 @@
"Access-Control-Allow-Methods: GET POST OPTIONS\r\n".
"Access-Control-Allow-Headers: Origin, Authorization, Accept\r\n".
"Access-Control-Allow-Credentials: true\r\n".
- "Access-Control-Max-Age:86400\r\n" : "");
+ "Access-Control-Max-Age:86400\r\n".
+ "Access-Control-Expose-Headers: X-FHEM-csrfToken\r\n": "");
$FW_headerlines .= "X-FHEM-csrfToken: $defs{$FW_wname}{CSRFTOKEN}\r\n"
if($defs{$FW_wname}{CSRFTOKEN});
Das überredet den Browser zur Kooperation (wenn CORS gesetzt ist). Praktischerweise musst Du an TabletUI nichts ändern.
/Edit: Gerade gemerkt, dass das Problem schonmal unabhängig von TabletUI andiskutiert wurde: https://forum.fhem.de/index.php/topic,67848.0.html
Patrick
Das ging aber flott. :-)
Ich habe parallel ein Workaround auf Clientseite eingebaut.
Die zurück gelieferte Seite enthält auch den csrf.
ftui.getPart(data, ".*fwcsrf='(.*?)'.*");
Siehst du eine Cache, dass das übernommen wird? Solange lasse ich den Workaround drin.
Zitat von: Chris8888 am 27 Februar 2017, 12:10:43
Hi, kann mich nur anschließen...Websock inkl CSRF-Token läuft top. Sowohl vom Tablet (Android 5 mit FullyBrowser), als auch vom Mac mit Firefox&Safari.
VG
Christian
Hi, ich muss mich leider korrigieren...
Was mir aufgefallen ist: 1 CPU-Kern ist immer auf 100% "Perl", sobald ich den Token abschalte ist alles wieder normal <10%.
Kann ich hier etwas beitragen?
Viele Grüße
Christian
Hi!
Zitat von: setstate am 28 Februar 2017, 21:22:20
Siehst du eine Cache, dass das übernommen wird? Solange lasse ich den Workaround drin.
Die Chancen stehen ganz gut:
Zitat von: rudolfkoenig am 28 Februar 2017, 20:41:00
Eingecheckt.
:)
Patrick
Zitat von: klausw am 28 Februar 2017, 18:28:33
In der widget_simplechart.js
muss Zeile 108 von:
url: ftui.config.fhem_dir,
auf:
url: ftui.config.fhemDir,
geändert werden. Sonst wird das Verzeichnis, in dem sich die html Datei befindet als FHEM Verzeichnis verwendet.
Könntest du auch bitte bei der Auswertung von fhemweb_url einbauen, das wenn nur "/fhem" oder so drin steht "location.origin" davor gehängt wird?
Da ich lokal mit Ip zugreifen möchte und remote mit dyndns Name kann ich nicht die komplette URL angeben.
Vorschlag ab Zeile 360 fhem-tablet-ui.js:
ftui.config.fhemDir = $("meta[name='fhemweb_url']").attr("content") || location.origin + "/fhem/";
ftui.config.fhemDir = ftui.config.fhemDir.replace(/^\//, location.origin + '/');
ftui.config.fhemDir = ftui.config.fhemDir.replace('///', '//');
Edit:
Zeile 1620 der widget_chart.js sollte vermutlich auch auf ftui.config.fhemDir umgestellt werden. Sonst würde mein Vorschlag sicher nicht funktionieren 8)
Edit2:
folgende Files nutzen auch direkt fhemweb_url aus den Metadaten
js/widget_highchart.js
js/widget_wdtimer.js
js/widget_fullcalview.js
js/widget_weekprofile.js
js/widget_svgplot.js
js/widget_weather.js
js/widget_chart.js
js/widget_readingsgroup.js
js/widget_highchart3d.js
Danke klausw für die gute Mitarbeit.
Ich habe jetzt die meisten widgets deiner Liste angepasst. Kann bitte jemand, der diese Widgets nutzt, testen, ob CSRF damit jetzt funktioniert. Update ist hochgeladen.
Danke.
Cache, Chancen ... Cache voller Chancen, Chancen-Cache 8) ;D
Zitat von: PatrickR am 28 Februar 2017, 21:47:13
Hi!
Die Chancen stehen ganz gut::)
Patrick
Super, danke. Eingecheckt, obwohl du gar kein "Blauer" bist?
Hi!
Zitat von: setstate am 28 Februar 2017, 22:25:18
Super, danke. Eingecheckt, obwohl du gar kein "Blauer" bist?
Am SVN-Zugriff mangelt es zwar nicht. Aber Änderungen in fremde Module einzuchecken muss ja nicht sein, vor allem die unseres Königs ;) Das "Eingecheckt" war ein Zitat von Rudi *g*
Patrick
Zitat von: setstate am 28 Februar 2017, 22:20:31
Danke klausw für die gute Mitarbeit.
Ich habe jetzt die meisten widgets deiner Liste angepasst. Kann bitte jemand, der diese Widgets nutzt, testen, ob CSRF damit jetzt funktioniert. Update ist hochgeladen.
Danke.
Purer Eigennutz 8)
Ich finde es super das du so schnell patchst
Die widget_chart.js wurde zwar beim update gezogen, allerdings sind keine Änderungen drin.
url: $("meta[name='fhemweb_url']").attr("content") || "../fhem/",
ist in Zeile 1620 noch vorhanden.
Dort müsste sowieso noch Zeile 13 und 15 geändert werden (Pfade relativ zum ftui.config.basedir):
mainCSS.before('<link rel="stylesheet" href="' + ftui.config.basedir + 'css/ftui_chart.css" type="text/css" />');
else
$('head').append('<link rel="stylesheet" href="' + ftui.config.basedir + 'css/ftui_chart.css" type="text/css" />');
vorher:
mainCSS.before('<link rel="stylesheet" href="css/ftui_chart.css" type="text/css" />');
else
$('head').append('<link rel="stylesheet" href="css/ftui_chart.css" type="text/css" />');
und Zeile 56:
return [ftui.config.basedir + "lib/jquery-ui.min.js"];
vorher:
return ["../pgm2/jquery-ui.min.js"];
Im wdtimer müssten die Pfade auch noch angepasst werden wie hier (https://forum.fhem.de/index.php/topic,48106.msg596120.html#msg596120) vorgeschlagen.
In Zeile 2 der ftui_chart.css wird auf eine svg_style.css verwiesen
@import "../../pgm2/svg_style.css";
Könnte diese noch in den css Ordner kopiert werden? Dann wäre das ganze komplett unabhängig vom pgm Ordner.
Sry, bei wdtimer habe ich einen Fehler gemacht:
vor "lib/jquery.datetimepicker.css" und "lib/switchery.min.css" war ein "/" was da nicht hingehört.
So sollte es stimmen:
function init() {
if (!$.fn.datetimepicker){
ftui.dynamicload(ftui.config.basedir + 'lib/jquery.datetimepicker.js', null, null, false);
$('head').append('<link rel="stylesheet" href="' + ftui.config.basedir + 'lib/jquery.datetimepicker.css" type="text/css" />');
}
if (!$.fn.Switchery){
ftui.dynamicload(ftui.config.basedir + 'lib/switchery.min.js', null, null, false);
$('head').append('<link rel="stylesheet" href="' + ftui.config.basedir + 'lib/switchery.min.css" type="text/css" />');
}
if (!$.fn.draggable){
ftui.dynamicload(ftui.config.basedir + 'lib/jquery-ui.min.js', null, null, false);
}
Hallo zusammen!
Also erst mal (wieder) ein großes Lob an setstate !!!!! Mit dieser Version hast du echt einen Meilenstein geschaffen.
Die Performanz ist um einiges besser und der Seitenaufbau ist um Welten fließender!
Danke für deinen unglaublichen Enthusiasmus und Arbeitsaufwand den dir hier an den Tag legst!
Dann hier noch eine kleine Anmerkung. Bei "Volume" Widget gehen die Größen Klassen nicht richtig.
Danke und Top!!
Zitat von: Stumpf am 02 März 2017, 09:13:42
Hallo zusammen!
Also erst mal (wieder) ein großes Lob an setstate !!!!! Mit dieser Version hast du echt einen Meilenstein geschaffen.
Die Performanz ist um einiges besser und der Seitenaufbau ist um Welten fließender!
Danke für deinen unglaublichen Enthusiasmus und Arbeitsaufwand den dir hier an den Tag legst!
Dann hier noch eine kleine Anmerkung. Bei "Volume" Widget gehen die Größen Klassen nicht richtig.
Danke und Top!!
Da bin ich ja gespannt, werde Update einspielen, sobald ich wieder zuhause bin.
Aber so oder so, auch von mir nochmals ein großes Danke an setstate.
Tabletui ist für mich die beste Oberfläche für FHEM, wenn es manchmal noch hier und da hakt oder ruckelst nehme ich das gerne in Kauf, da ich weiß, dass setstate permanent an Verbesserungen arbeitet. Das ist besser, als bei so manchem "professionellem" Software-Produkt!
Oh mann ist das wieder ein durcheinander :-\
Geht Basic Auth nun oder eben nicht? Was tue ich damits trotzdem funktioniert?
Was mach ich mit dem Token wenn ich ihn verwenden will?
Fragen über Fragen, seid mir nicht böse weil ich sie stelle, aber ich bin einfach wie viele andere immer noch sehr neu in dem Gebiet :-\
Das steht im ersten Beitrag.
Ok wenn ich basic auth rausschmeiße is das blöd, zum andern steht da nix zu dem token, bin jetzt auf Seite 4 zum durchlesen
Zitat von: DerBaer am 02 März 2017, 11:46:18
Ok wenn ich basic auth rausschmeiße is das blöd, zum andern steht da nix zu dem token, bin jetzt auf Seite 4 zum durchlesen
Das Token sollte automatisch verarbeitet werden.
Das FHEMWEB Device muss "WEB" heißen oder man muss den anderslautenden Namen als Meta Parameter web_device angeben.
Allerdings scheinen noch nicht alle Module mit den Tokens umgehen zu können.
Die meisten Meta Parameter sind hier (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Verbindung_zu_FHEM) zu finden.
Für basic auth müssen die Meta Parameter username und password angegeben werden (wenn ich das richtig verstanden habe)
Wofür benötigst du das denn?
Zitat von: klausw am 02 März 2017, 12:23:39
Das Token sollte automatisch verarbeitet werden.
Das FHEMWEB Device muss "WEB" heißen oder man muss den anderslautenden Namen als Meta Parameter web_device angeben.
Allerdings scheinen noch nicht alle Module mit den Tokens umgehen zu können.
Die meisten Meta Parameter sind hier (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Verbindung_zu_FHEM) zu finden.
Schau ich mir sofort an, ich nutze WEBtablet, aber das lässt sich ändern.
Zitat von: klausw am 02 März 2017, 12:23:39
Für basic auth müssen die Meta Parameter username und password angegeben werden (wenn ich das richtig verstanden habe)
Wofür benötigst du das denn?
Ich denk das brauch ich für das Https?
Zitat von: DerBaer am 02 März 2017, 12:27:47
Schau ich mir sofort an, ich nutze WEBtablet, aber das lässt sich ändern.
Oder du fügst:
<meta name="web_device" content="WEBtablet">
auf deiner HTMLSeite ein. Die Tablet UI muss halt nur wissen, von welcher Instanz die das Token holt.
Zitat von: DerBaer am 02 März 2017, 12:27:47
Ich denk das brauch ich für das Https?
nö, das brauchst du, wenn dein FHEM mit Passwort gesichert ist und FTUI auf einem separaten Webserver läuft (wenn ich es richtig verstanden habe)
basicAuth ist die Authentifizierungsmethode, die in FHEM genutzt werden kann um das Ganze mit user,passwort abzusichern
Wenn du die Daten als Meta Parameter angibst dann nutzt die Tablet UI diese um sich bei FHEM anzumelden.
Beschreibe mal deinen Aufbau (FHEM FTUI)
Zitat von: klausw am 02 März 2017, 12:42:40
Oder du fügst: <meta name="web_device" content="WEBtablet">
auf deiner HTMLSeite ein. Die Tablet UI muss halt nur wissen, von welcher Instanz die das Token holt.
Hab ich genauso gelöst.
Zitat von: klausw am 02 März 2017, 12:42:40
nö, das brauchst du, wenn dein FHEM mit Passwort gesichert ist und FTUI auf einem separaten Webserver läuft (wenn ich es richtig verstanden habe)
basicAuth ist die Authentifizierungsmethode, die in FHEM genutzt werden kann um das Ganze mit user,passwort abzusichern
Wenn du die Daten als Meta Parameter angibst dann nutzt die Tablet UI diese um sich bei FHEM anzumelden.
Beschreibe mal deinen Aufbau (FHEM FTUI)
Mein FTUI is wie FHEM auf meinem Raspy 3. Also eigentlich kein externer Webserver...
Über WEBtablet greife ich von FTUI aufs FHEM zu über https.
Fhem ist wie eben über Passwort geschützt.
Was mir aufgefallen ist, im Device werden die Connects hochgezählt, da war ich dann vorhin schon bei fast 500. Ist das normal?
Edit:
Bei WEBtablet wird kein Token generiert.
Zitat von: DerBaer am 02 März 2017, 12:51:20
Mein FTUI is wie FHEM auf meinem Raspy 3. Also eigentlich kein externer Webserver...
Über WEBtablet greife ich von FTUI aufs FHEM zu über https.
Fhem ist wie eben über Passwort geschützt.
Das beantwortet Meine Frage nur bedingt.
Stellst du FTUI über FHEM(HTTPSRV) bereit oder über einen Apache?
Bei ersterem musst du gar nichts angeben, wenn du basicauth in FHEM nutzt dann wird es auch automatisch für FTUI verwendet.
Zitat von: DerBaer am 02 März 2017, 12:51:20
Was mir aufgefallen ist, im Device werden die Connects hochgezählt, da war ich dann vorhin schon bei fast 500. Ist das normal?
da habe ich nie drauf geachtet, aber wenn du häufig reload drückst kann das vielleicht passieren....
Zitat von: klausw am 02 März 2017, 13:16:48
Das beantwortet Meine Frage nur bedingt.
Stellst du FTUI über FHEM(HTTPSRV) bereit oder über einen Apache?
Bei ersterem musst du gar nichts angeben, wenn du basicauth in FHEM nutzt dann wird es auch automatisch für FTUI verwendet.
FHEM HTTPSRV hab des basic auth jetzt auch raus genommen
Zitat von: klausw am 02 März 2017, 13:16:48
da habe ich nie drauf geachtet, aber wenn du häufig reload drückst kann das vielleicht passieren....
Naja ne eigentlich nicht, vorallem nicht gleich 50 mal gleich nachdem ich fhem neu gestartet habe ^^
So jetzt ist mir noch was aufgefallen, meinw switches funktionieren nur noch bedingt... :/
Edit:
Internals:
CONNECTS 143
DEF 8085 global
FD 8
NAME WEBtablet
NR 9
NTFY_ORDER 50-WEBtablet
PORT 8085
SSL 1
STATE Initialized
TYPE FHEMWEB
Attributes:
HTTPS 1
csrfToken none
longpoll websocket
room 6.1 Fhem Sys
stylesheetPrefix touchpad
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="132">
<meta name="widget_base_height" content="123">
<meta name="mobile-web-app-capable" content="yes">
<meta name="longpoll" content="websocket"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="0"> <!-- 1=output to console;0=not output -->
<meta http-equiv="Cache-Control" content="no-store" />
<meta name="gridster_disable" content="1">
<meta name='longpoll_maxage' content='240'>
<meta name='web_device' content='WEBtablet'>
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
<!-- define your personal style here, it wont be overwritten -->
<link rel="stylesheet" href="/fhem/tablet/css/fhem-green-ui.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/powerange.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
<link rel="stylesheet" href="/fhem/www/tablet/fonts/Custom/style.css">
<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>
<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.knob.mod.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.toast.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.circlemenu.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/powerange.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/jquery.gridster.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/lib/fa-multi-button.min.js"></script>
<script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.js"></script>
Zitat von: DerBaer am 02 März 2017, 13:20:53
So jetzt ist mir noch was aufgefallen, meinw switches funktionieren nur noch bedingt... :/
Was bedeutet bedingt?
Der Automatik Button wird zwar ausgeführt, ändert aber den Status nicht und liefert mir diesen Fehler:
Ahja und die Charts funktionieren alle nicht, aber da dachte ich was gelesen zu haben als ich den Thread vorhin überflogen hab.
Bin erst bei Seite 18 ^^
longpoll=websocket und basicAuth funktioniert nicht.
Da kommen bei mir selbst im FHEMWEB "reconnects"
Naja das Thema hatte ich ja schon abgehackt ;D
Macht jetzt bei mir aber im übrigen keinen Unterschied :(
Zitat von: setstate am 02 März 2017, 14:02:37
longpoll=websocket und basicAuth funktioniert nicht.
Da kommen bei mir selbst im FHEMWEB "reconnects"
Genau, hatte ich hier auch schon mehrmals berichtet. Wenn ich longpoll auf websockets stelle, habe ich in der FHEM Oberfläche beständige lost connections aber nur wenn ich für dies FHEM Web ein Passwort vergeben habe.
Ich lasse Tabletui daher über eine andere Web-Instanz zugreifen, die n9cht passwortgeschützt ist. Bin aber aber nicht sicher, ob das dann nicht einen potentiellen Angriffspunkt von außen darstellen kann.
longpoll=1 und basicAuth funktioniert. Nur nicht longpoll=websocket. Scheint noch ein Fehler im FHEM zu sein.
Egal was ich mach, es funktioniert nicht mehr
Nach Änderung von longpoll im FHEM 'shutdown restart' oder/und im FTUI longpoll_type auf 'ajax' oder '1' setzen.
Jap, ich hab 1 gesetzt stat ajax
Zitat von: setstate am 02 März 2017, 14:21:50
longpoll=1 und basicAuth funktioniert. Nur nicht longpoll=websocket. Scheint noch ein Fehler im FHEM zu sein.
Ja, kann ich auch bestätigen, longpoll=1 läuft mit basicauth
Um nochmal klar zu definieren was nicht geht:
Charts werden keine Plots angezeigt.
Beim Ausführen eines Switch wird eine Meldung ausgegeben das die Verbindung unvorhergesehen unterbrochen wurde.
Zitatlongpoll=1 und basicAuth funktioniert. Nur nicht longpoll=websocket. Scheint noch ein Fehler im FHEM zu sein.
Weiss nicht genau, was mit "FHEM" gemeint ist, aber ich habe kein Problem FHEMWEB direkt (nicht FTUI) mit "attr WEB longpoll websocket" und passsenden allowed/basicAuth zu verwenden. Mit oder ohne HTTPS.
Aber wenn ihr meint, dass irgendwo noch ein FHEM/FHEMWEB Problem gibt, dann bitte das im richtigen Forumsbereich melden, sonst kann ich es nicht wissen, und damit auch nicht fixen. Diesen Beitrag habe ich per Zufall entdeckt.
Ich hab ja die Vermutung das mein Problem momentan auch gar nix mit longpoll oder websocket sowie basic auth zu tun hat.
Wie schon erwähnt, es ist mittlerweile egal was ich einstelle, die oben genannten Fehler sind die gleichen.
Zitat von: rudolfkoenig am 02 März 2017, 14:46:35
Weiss nicht genau, was mit "FHEM" gemeint ist, aber ich habe kein Problem FHEMWEB direkt (nicht FTUI) mit "attr WEB longpoll websocket" und passsenden allowed/basicAuth zu verwenden. Mit oder ohne HTTPS.
Aber wenn ihr meint, dass irgendwo noch ein FHEM/FHEMWEB Problem gibt, dann bitte das im richtigen Forumsbereich melden, sonst kann ich es nicht wissen, und damit auch nicht fixen. Diesen Beitrag habe ich per Zufall entdeckt.
Kann ich unterschreiben .... bei mir funktioniert FHEM 5.7 / FTUI 2.6.2 mit longpoll=websocket und basicAuth ohne irgendwelche Fehlermeldungen ... kann es sein, dass erst mit dem csrfToken aus FHEM 5.8 sich an dieser Konstellation was ändert?
Kann sein, aber ich habe natuerlich mit featurelevel 5.8 getestet.
Hat sich jetzt nochmal etwas am Chart-Widget geändert?
Mit 2.6 hat es gut funktioniert, doch mit dem letzten Update (gerade eben eingespielt), zeigt es nichts mehr an.
csrfToken habe ich auf none.
Na wenigstens bin ich ned der einzige ^^
Hat auch keiner behauptet
https://forum.fhem.de/index.php/topic,45864.msg596509.html#msg596509
Zitat von: Standarduser am 02 März 2017, 18:07:40
Hat sich jetzt nochmal etwas am Chart-Widget geändert?
Mit 2.6 hat es gut funktioniert, doch mit dem letzten Update (gerade eben eingespielt), zeigt es nichts mehr an.
csrfToken habe ich auf none.
siehe hier (https://forum.fhem.de/index.php/topic,45864.msg596509.html#msg596509)
ich vermute(hoffe) setstate ist dran ;)
Zitat von: setstate am 02 März 2017, 18:10:43
Hat auch keiner behauptet
https://forum.fhem.de/index.php/topic,45864.msg596509.html#msg596509
Ah, ok. Also spiele ich das Backup wieder ein und warte noch ein wenig?
Behauptet nicht, aber ich frag mich dann immer als erstes ob der Fehler ned einfach vor dem FTUI sitzt ^^
Das setstate da dran is is mir klar, ich hab ja auch deswegen nix mehr geschrieben um ned unnötig druck zu machen ;)
Hat hier vielleicht jemand eine Idee zu folgendem Phänomen.
Ich habe bis jetzt FTUI eingesetzt gehabt mit einem Apache. Nun habe ich FTUI geupdatet und den Apache rausgenommen. Allerdings bekomme ich nur eine leere Seite angezeigt, mit einem einzelnen Punkt drauf. Laut Console gibt es einen Fehler 404, weil er die folgenden Datei nicht findet: http://192.168.2.5:8083/fhem/js/fhem-tablet-ui.js.
Nun das komische an meinem Rechner direkt funktioniert es genau in einem Browser(Vivaldi) in allen anderen nicht. Auf Handy oder Tablet leider auch nicht.
Jemand eine Idee?
Zitat von: mordrad am 02 März 2017, 19:51:14
Nun das komische an meinem Rechner direkt funktioniert es genau in einem Browser(Vivaldi) in allen anderen nicht. Auf Handy oder Tablet leider auch nicht.
Jemand eine Idee?
Vielleicht hat der die Datei noch im Cache?
Ja vermutlich, allerdings wenn ich an der Seite was ändere übernimmt er das auch.
Das eigentlich Hauptproblem ist aber, dass es halt bei den anderen Geräten nicht mehr funktioniert.
Da ne Idee?
Zitat von: mordrad am 02 März 2017, 19:51:14
Hat hier vielleicht jemand eine Idee zu folgendem Phänomen.
Ich habe bis jetzt FTUI eingesetzt gehabt mit einem Apache. Nun habe ich FTUI geupdatet und den Apache rausgenommen. Allerdings bekomme ich nur eine leere Seite angezeigt, mit einem einzelnen Punkt drauf. Laut Console gibt es einen Fehler 404, weil er die folgenden Datei nicht findet: http://192.168.2.5:8083/fhem/js/fhem-tablet-ui.js.
Nun das komische an meinem Rechner direkt funktioniert es genau in einem Browser(Vivaldi) in allen anderen nicht. Auf Handy oder Tablet leider auch nicht.
Jemand eine Idee?
http://192.168.2.5:8083/fhem/js/fhem-tablet-ui.js.
der Pfad sieht falsch aus
es muss so sein
http://192.168.2.5:8083/fhem/ftui/js/fhem-tablet-ui.js
Wie sieht deine httpsrv Definition aus? Hast du noch Apache spezifische Meta Tags im FTUi HTML?
Zitat von: mordrad am 02 März 2017, 19:51:14
Hat hier vielleicht jemand eine Idee zu folgendem Phänomen.
Ich habe bis jetzt FTUI eingesetzt gehabt mit einem Apache. Nun habe ich FTUI geupdatet und den Apache rausgenommen. Allerdings bekomme ich nur eine leere Seite angezeigt, mit einem einzelnen Punkt drauf. Laut Console gibt es einen Fehler 404, weil er die folgenden Datei nicht findet: http://192.168.2.5:8083/fhem/js/fhem-tablet-ui.js.
Nun das komische an meinem Rechner direkt funktioniert es genau in einem Browser(Vivaldi) in allen anderen nicht. Auf Handy oder Tablet leider auch nicht.
Jemand eine Idee?
Der Link sieht komisch aus....fehlt da nicht ein ..../www/tablet/...
Hast du ggf noch im Header einen alten Verweis?
Versuche doch mal zB die index_state.html aufzurufen.
VG
Christian
PS: Setstate war schneller...;-)
irgendwie hab ich seit kurzem übelst Probleme mit meinem FTUI. Version ist 2.6.9.
FTUI hängt für 54-58 Sekunden beim Start der Seite. Danach läuft alles super schnell und easy. Diese Zeit lässt mein Firefox komplett abstüzen, Safari läuft dann nach der knappen Minute wieder.
Der Befehl, der währenddessen noch ausgeführt wird, ist folgender
http://192.168.xxx.xxx:xxxx/fhem?_=1488491286649
Laut Debugger dauert dieser Befehl aber auch "nur" 1-3 Sekunden
Ich weiß nicht woran das liegen könnte.
Meine FhemWEB Definition:
defmod WEB FHEMWEB xxxx global
attr WEB CORS 1
attr WEB confirmDelete 1
attr WEB editConfig 1
attr WEB endPlotNow 1
attr WEB longpoll websocket
attr WEB longpollSVG 1
attr WEB ploteditor always
attr WEB showUsedFiles 1
Mein FTUI Index Header:
<!DOCTYPE html>
<html>
<head>
<meta name="fhemweb_url" content="http:///192.168.xxx.xxx:xxxx/fhem">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name='longpoll_maxage' content='240'>
<meta name='web_device' content='WEB'>
<meta name="widget_base_width" content="120">
<meta name="widget_base_height" content="140">
<meta name="widget_min_cols" content="13">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="gridster_disable" content="1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="debug" content="3">
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="js/fhem-tablet-ui.js" defer></script>
<script src="js/fhem-tablet-ui-myExtension.js" defer></script>
<link rel="stylesheet" href="/ftui/css/myStyle.css" />
<link rel="shortcut icon" href="/ftui/images/favicon.ico">
<title>FHEM-Tablet-UI</title>
</head>
<body>
Mein FTUI ist auf meinem Synology-Server und FHEM selbst ist auf einem Raspberry.
Wäre cool, wenn ihr mir hilft 8) DANKE!
Edit:
ab und zu läuft noch eine weitere Abfrage an den Server:
http://192.168.xxx.xxx:xxxx/fhem?cmd=jsonlist2%20WEB%2CAnzahlGesamtCirclemenue%2CUntwetterzentrale%2CmyAbfall%2CWZ_Fenster_virtual%2CKZ_Fenster_virtual%2CSZ_Fenster_virtual%2CBZ_Fenster_virtual%2CAZ_Fenster_virtual%2CEingangstuer%2CWZ_Balkontuer%2CAnzahlLeererBatterien%2CAnzahlAngeschaltetetDeckenlampe%2Cd_TrafficFritzbox%2CUpdatesAvailable%20STATE%20longpoll%20Zaehler%20WarnCount%20Muellkalender_GelberSack_tage%20GesamtMonat%20anzahl&XHR=1&_=1488492504985
das sind die WarnCounts für das Menü. Hier steht dann auch im Debugger eine Zeit von 52-58 Sekunden für das Laden.
http://192.168.xxx.xxx:xxxx/fhem
rufe ich, um den csrfToken zu holen.
Was passiert, wenn du diese URL im Browser direkt aufrufst? Wird da bei dir eine komplizierte Startseite aufgerufen, die lange dauert?
Welche URL, um den csrfToken zu bekommen, sollte ich stattdessen rufen, die für alle passt, aber wenig Trafik verursacht?
die Seite dauert 3-4 Sekunden. Ewig langes Menü, mit einer JavaScript Uhr statt des Logos und ein Hintergrundbild. Also eigentlich nichts besonderes. Und auf jeden Fall deutlich kürzer als eine knappe Minute ???
hmm..
dauert bei mir 50ms.
Vllt. finde ich einen besseren Aufruf, der für alle passt ....
Frage:
haben alle fhem/style.css, oder gibt es da jemand, der das File nicht hat? Oder der das File größer als 1KB aufgebläht hat?
ich hab mal probeweise alle roomIcons, mein eigenes Stylesheet und die Uhr weggemacht, damit ist der Fehler nun weg. Aber der Aufruf der Seite dauert noch so 400-500ms. Aber das ist locker um den Faktor 10 kürzer geworden.
Geht vielleicht statt einer GET Anfrage an FHEM eine OPTIONS Anfrage? Da wird zumindest kein Content mitgeladen.
Zitat von: setstate am 02 März 2017, 23:13:56
http://192.168.xxx.xxx:xxxx/fhem
rufe ich, um den csrfToken zu holen.
Was passiert, wenn du diese URL im Browser direkt aufrufst? Wird da bei dir eine komplizierte Startseite aufgerufen, die lange dauert?
Welche URL, um den csrfToken zu bekommen, sollte ich stattdessen rufen, die für alle passt, aber wenig Trafik verursacht?
http://192.168.xxx.xxx:xxxx/fhem?XHR=1
Sollte kein Content liefern dafür aber den wichtigen Header.
Zitat von: CoolTux am 02 März 2017, 23:48:52
http://192.168.xxx.xxx:xxxx/fhem?XHR=1
Sollte kein Content liefern dafür aber den wichtigen Header.
Sehr guter Tipp. Nehme ich ... Danke.
hab bei mir die fhem-tablet-ui.js angepasst und es läuft nun wieder :) Danke für die schnelle Hilfe von euch beiden! :) :)
edit:
zeile 1324 hab ich so angepasst im "getCSrf: function ()" Block:
'url': ftui.config.fhemDir + '?XHR=1',
aber ich glaube, der csrfToken kommt damit im Header nicht mit. Geht bei mir zumindest nicht :-(
Im Header von der Antwort sollte die Zeile
X-FHEM-csrfToken: fhem_xxxxxxxxxxx
stehen.
Mein Fehler, ich hatte die Seite noch per Port-Forwarding aufgerufen und noch kein FHEM Update eingespielt, was das Fehlen von X-FHEM-csrfToken mit CORS beseitigte
https://forum.fhem.de/index.php/topic,66879.msg596310.html#msg596310
hab deins runtergeladen. Funktioniert. ;D ;D ;D ;D
im widget_clock.js hat sich ein typo eingeschlichen: "M‰rz" ;)
Zitat von: setstate am 02 März 2017, 22:26:16
http://192.168.2.5:8083/fhem/js/fhem-tablet-ui.js.
der Pfad sieht falsch aus
es muss so sein
http://192.168.2.5:8083/fhem/ftui/js/fhem-tablet-ui.js
Wie sieht deine httpsrv Definition aus? Hast du noch Apache spezifische Meta Tags im FTUi HTML?
Mein httpsrv sieht wie folgt aus:
Internals:
DEF ftui ./www/tablet Tablet-UI
NAME TABLETUI
NR 54
STATE TABLETUI
TYPE HTTPSRV
Fhem:
directory ./www/tablet
friendlyname Tablet-UI
infix ftui
Attributes:
room 02-System
Ein Bild von index_state habe ich angehängt.
Läuft doch alles. Oder gibt es noch Probleme?
Zitat von: setstate am 03 März 2017, 08:42:04
Läuft doch alles. Oder gibt es noch Probleme?
Wie gesagt, es funktioniert nur im Vivaldi Browser. Alle anderen zeigen nur eine leere Seite. Auch auf dem Tablet wird nichts angezeigt.
Hast du mal versucht wie es bei lonpoll Type AJAX ausschaut oder möchtest/brauchst du zwingend websocket ?
Gruß Wiesel
Longpoll ist für das Update der Seite zuständig. Wenn garnix angezeigt wird, hat das andere Ursachen.
Gib mal deine Header Definition. Da muss ein Pfad falsch gesetzt sein. Wie rufst du FTUI auf (URL)?
Zitat von: setstate am 03 März 2017, 09:52:17
Longpoll ist für das Update der Seite zuständig. Wenn garnix angezeigt wird, hat das andere Ursachen.
Gib mal deine Header Definition. Da muss ein Pfad falsch gesetzt sein. Wie rufst du FTUI auf (URL)?
Aufruf erfolgt über: http://192.168.2.5:8083/fhem/ftui
Header in der index.html:
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.css" / -->
<script src="js/fhem-tablet-ui.js" defer></script>
<title>Home, Sweet Home</title>
</head>
;D
Hinten noch ein / dran, an die URL.
Httpsrv ist nicht so schlau, das von sich aus zu ergänzen.
Zitat von: setstate am 28 Februar 2017, 14:30:56
Bei Readingsgroup habe ich den csrfToken noch nicht eingebaut.
FHEM lehnt damit jegliche Anfragen ab.
Gibts schon einen Ausblick, wann das eingebaut wird?
Im Moment gehts bei mir auch nicht wenn csrfToken auf none steht.
Gruß Detlef
Von meiner Seite ist alles fertig.
Gibt es Meldungen zum Update der Readingsgroup in der Webconsole?
Zitat von: setstate am 03 März 2017, 10:11:09
;D
Hinten noch ein / dran, an die URL.
Httpsrv ist nicht so schlau, das von sich aus zu ergänzen.
lol ... Jetzt wirklich? Oh man ja funktioniert.
Bei den Readingsgroup würde ich mich auch einhängen? Was muss da beachtet werden?
Zitat von: setstate am 03 März 2017, 10:19:45
Von meiner Seite ist alles fertig.
Gibt es Meldungen zum Update der Readingsgroup in der Webconsole?
Ich meine am 1.3. ist ein update des readingsgroup-Widgets gekommen.
Seit dem gehts auch mit ausgeschaltetem Token nicht mehr.
Gruß Detlef
Zitat von: setstate am 03 März 2017, 10:19:45
Von meiner Seite ist alles fertig.
Gibt es Meldungen zum Update der Readingsgroup in der Webconsole?
ich habe mir das widget_readingsgroup.js gerade genauer angeschaut. Und es liegt an Zeile 49.
in der Update Methode muss
$(this.elem).html(data);
in
elem.html(data);
geändert werden.
Danach geht es wieder ;)
Was'n das ?
$(this.elem).html(data);
Das sieht so aus, als ob ich aus dem $(this) ein elem machen wollte und das Löschen vergessen habe.
Danke fürs Rausfinden.
Man kann sich ja mit data-bind="ftui.version" die FTUI Version anzeigen lassen, was ich klasse finde. Kann man auch irgendwie die FHEM Version anzeigen lassen?
Zitat von: Andy89 am 03 März 2017, 11:47:18
ich habe mir das widget_readingsgroup.js gerade genauer angeschaut. Und es liegt an Zeile 49.
in der Update Methode muss
$(this.elem).html(data);
in
elem.html(data);
geändert werden.
Danach geht es wieder ;)
Läuft!
Sper, Danke.
Zitat von: FhemPiUser am 03 März 2017, 17:07:26
Man kann sich ja mit data-bind="ftui.version" die FTUI Version anzeigen lassen, was ich klasse finde. Kann man auch irgendwie die FHEM Version anzeigen lassen?
Ja, so:
<div data-type="label" data-device="global" data-get="version" class="bigger center"></div>
Gruß Detlef
Danke, geht.
@setstate: Es gibt noch einige toast messages, die auch ohne debug kommen bzw. wo die debug-Abfrage vorher fehtl. Z.b. in Zeile 819 oder 829
ftui.toast("<u>ShortPoll Request Failed, will retry in 3s</u><br>" + err, 'error');
Kannst Du vor alle toast messages noch ein "if (ftui.config.DEBUG)" davorsetzen, damit sie nur bei eingeschaltetem debug kommen?
Fehlermeldungen sind nicht für debug, die müssen immer kommen. Man kann aber die Toast Anzahl auf 0 setzen.
ok, dann muss ich toast auf 0 stellen. bei mir kommen die messages bei jedem einschalten des tablets, da er kurz braucht bis die wlan verbindung da ist...
Läuft bei euch das fullcalview-Widget?
Ich bekomme die beigefügte Fehlermeldung.
TABLETUI und FHEM sind aktuell. Ich nutze websocket und csrftoken ist aktiviert.
Paul
Zitat von: Masterfunk am 03 März 2017, 17:44:53
Ja, so:
<div data-type="label" data-device="global" data-get="version" class="bigger center"></div>
Gruß Detlef
klasse, das geht. cool wäre jetzt noch die aktuell verfügbare version von fhem und ftui anzuzeigen, damit man weiss ob es ein update gibt. so ein versionsabgleich hat mal jemand für die homematic firmware mit httpmod gebaut und steht im wiki (https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update#Tool_zur_Firmware_Versionspr.C3.BCfung (https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update#Tool_zur_Firmware_Versionspr.C3.BCfung)). hat das mal jemand mit ftui und fhem gebaut?
Zitat von: mordrad am 03 März 2017, 10:25:16
lol ... Jetzt wirklich? Oh man ja funktioniert.
Bei den Readingsgroup würde ich mich auch einhängen? Was muss da beachtet werden?
Um das Anhängen an den URL automatisch zu machen, verwende ich noch folges JS direkt in der index.html:
<script language="javascript">
if ( document.location.pathname == "/fhem/ftui" ) {
var href = document.location.protocol + "//" + document.location.host + document.location.pathname + "/" + document.location.hash ;
document.location.replace( href );
}
</script>
Nicht schön aber geht ;)
Zitat von: Paul.baumann am 03 März 2017, 20:43:14
Läuft bei euch das fullcalview-Widget?
Ich bekomme die beigefügte Fehlermeldung.
TABLETUI und FHEM sind aktuell. Ich nutze websocket und csrftoken ist aktiviert.
Paul
identisch bei mir
Hallo,
nach dem Update auf FTUI 2.6. (zur Zeit 2.6.10) kann ich die Farbe der HUE Devices nicht mehr schalten.
Es werden nur noch 5 stetige Zahlen für die Farbe generiert und ich erhalte dann die Fehlermeldung "bad request".
Code:
<div class="inline cell">
<div>Fernseher</div>
<div data-type="volume" data-device="HUEDevice11" data-min="0" data-max="65353" data-get="hue" data-set="hue" class="hue-tick mini wider" ></div>
<div data-type="dimmer" data-device="HUEDevice11" data-get-on="!off" data-get-off="off" data-set="pct"></div>
<div data-type="volume" data-device="HUEDevice11" data-min="0" data-max="100" data-get="pct" data-set="pct" class="dim-tick mini wider" ></div>
</div>
Kann ich diesen Code nicht mehr verwenden und muss dies umschreiben oder ist es ein Problem im Code von 2.6.?
Gibt es eine neue Möglichkeit die HUE Lampen zu steuern mit FTUI?
Gruß
Arminius
Zitat von: viegener am 04 März 2017, 13:02:17
Um das Anhängen an den URL automatisch zu machen, verwende ich noch folges JS direkt in der index.html:
<script language="javascript">
if ( document.location.pathname == "/fhem/ftui" ) {
var href = document.location.protocol + "//" + document.location.host + document.location.pathname + "/" + document.location.hash ;
document.location.replace( href );
}
</script>
Nicht schön aber geht ;)
;-) Danke, ich habe jetzt meine Lesezeichen aktualisiert. Jetzt weiß ich es ja.
Mal was anderes, jemand eine Idee warum mein Chart nicht funktioniert? Habe mit dem wechsel auf die aktuelle FTUI auch auf LogDB umgestellt.
div data-type="chart"
data-device="ws1600"
data-logdevice="logdb"
data-logfile="HISTORY"
data-columnspec="ws1600:temperature"
data-style="ftui l0">
</div>
@setstate:
Kannst Du bitte noch meine Änderungen für das Filelog Widget übernehmen, ich bekomme da sonst noch csrf Fehler
https://forum.fhem.de/index.php/topic,63759.msg593604.html#msg593604
Hallo zusammen,
seit dem Update auf ftui 2.6 und fhem 5.8 bekomme ich bei ftui immer nur folgende Fehlermeldung:
"ShortPoll Request Failed::result is null"
Auch nach lesen dieses Threads und alle Ideen/Empfehlungen und aktuellen Updates (ftui 2.6.12) hat sich nichts geändert. Versuche mit Websocket etc bringen auch keinen Erfolg. Was habe ich übersehen?
Auf meinem Tablet mit dem Browser Fully lautet die Fehlermeldung:
Error fhem-tablet-ui.js:740 TypeError: Object.keys called on non-object
Grüße Michi
Ich rufe ftui über diesen Link: 192.168.150.21:8083/fhem/ftui/
Mein WEB Device:
define WEB FHEMWEB 8083 global
attr WEB longpoll 1
mein Header:
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-custom.css" />
<meta name="gridster_disable" content="1">
<meta name="longpoll" content="0"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="longpoll_type" content="ajax">
<meta name="debug" content="6"> <!-- verbose level 1-6 = output to console;0 = not output -->
<meta name="web_device" content="WEB">
<meta name="longpoll_maxage" content="240">
<script src="js/fhem-tablet-ui.js" defer></script>
Zitat von: michaelfhem am 08 März 2017, 13:29:49
Hallo zusammen,
seit dem Update auf ftui 2.6 und fhem 5.8 bekomme ich bei ftui immer nur folgende Fehlermeldung:
"ShortPoll Request Failed::result is null"
Ich habe noch nicht auf FHEM 5.8 upgedatet ... bekomme die Fehlermeldung aber auch nach dem update von FTUI 2.6.6 auf ??? (aktuell)
Zusätzlich wird jetzt die FTUI Version nicht mehr angezeigt
<div class="row">
<div class="col-40 bottom-align" data-bind="ftui.version"></div>
</div>
Bei der Verwendung des IE kommt
fhem-tabelt-ui.js: 740 TypeError: Object.keys: Das Argument ist kein Objekt
Hallo
muss man eigentlich bei der Datei index_nav_footer.html (auf GitHub, unter examples/mobile) irgendwas ändern, damit es 100% mit d 2.6 funktioniert? Die Datei selber hat ja die Version 2.2.3....
Danke für die Antwort.
<!DOCTYPE html>
<html>
<head>
<!--
/* FHEM tablet ui */
/*
* UI builder framework for FHEM
*
* Version: 2.2.3
* 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_eval' in /<fhem-path>/www
* - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
* - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
* - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
*/
-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="74">
<meta name="widget_base_height" content="71">
<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="debug" content="2"> <!-- 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="css/fhem-mobil-ui.css" />
<link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/jquery.toast.min.css" />
<link rel="stylesheet" href="lib/material-icons.min.css" />
<!-- define your personal style here, it wont be overwritten -->
<!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
<!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.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" defer></script>
<title>FHEM-Tablet-UI-mobil</title>
</head>
<body>
<!-- Demo FTUI 2.2 mobil page with slideout navigation and footer-->
<nav id="menu">
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-wrench"
data-color="white"
data-text-align="right"
data-load="div#content6"
data-url="#content_settings.html"
data-active-color="green"
data-active-pattern=".*#content_settings.html">Settings</div>
</nav>
<main id="panel" class="">
<header id="header-nav" class="bg-lightgray row">
<div data-type="slideout" class="col-1-8 big center-align notouch"></div>
<div id="linkname" class="col-3-6 large bold center-align middle"></div>
<div data-type="symbol" data-icon="fa-bell" data-device="dummy2" data-get-on="on.*" data-get-off="off" class="col-1-6 right-align big black"></div>
<div data-type="symbol" data-device="dummy1" data-icon="ftui-window" class="col-1-8 big warn"></div>
</header>
<div class="page" id="content1"></div>
<div class="page" id="content2"></div>
<div class="page" id="content3"></div>
<div class="page" id="content4"></div>
<div class="page" id="content5"></div>
<div class="page" id="content6"></div>
<footer>
<div class="tab-bar" >
<div class="tab-link" >
<div data-type="link"
data-load="#content1"
data-url="#content_temps.html"
data-icon="fa-dashboard"
data-color="#555"
data-active-color="blue"
data-active-pattern=".*#content_temps.html">
</div>
<span class="tab-label">Temps</span>
</div>
<div class="tab-link" >
<div data-type="link"
data-load="#content2"
data-url="#content_lights.html"
data-icon="fa-lightbulb-o"
data-color="#555"
data-active-color="blue"
data-active-pattern=".*#content_lights.html">
</div>
<span class="tab-label">Lights</span>
</div>
<div class="tab-link" >
<div data-type="link"
data-load="#content3"
data-url="#content_windows.html"
data-icon="ftui-window"
data-color="#555"
data-active-color="blue"
data-active-pattern=".*#content_windows.html">
</div>
<span class="tab-label">Window</span>
</div>
<div class="tab-link" >
<div data-type="link"
data-load="#content4"
data-url="#content_sounds.html"
data-icon="fa-music"
data-color="#555"
data-active-color="blue"
data-active-pattern=".*#content_sounds.html">
</div>
<span class="tab-label">Sound</span>
</div>
<div class="tab-link" >
<div data-type="link"
data-load="#content5"
data-url="#content_range.html"
data-icon="ftui-thermo"
data-color="#555"
data-active-color="blue"
data-active-pattern=".*#content_range.html">
</div>
<span class="tab-label">Range</span>
</div>
</div>
</footer>
</main>
</body>
</html>
Hallo,
bekomme FTUI in Verbindung mit crfs einfach nicht zum laufen.
Fhem selber rufe ich über https://mein.server:883/fhem auf, wobei nginx als reverse Proxy mit Abfrage User/Passwort davor "hängt".
in FHEM selber habe ich attr longpoll websocket
gesetzt.
Die Metadaten habe ich wie folgt gesetzt
<meta name="longpoll_type" content="websocket">
<meta name="web_device" content="WEB">
<meta name="fhemweb_url" content="https://mein.server:883/fhem">
Als Fehlermeldung in Chrome wirft er immer folgende Meldung aus.
GET https://mein.server:883/fhem?cmd=jsonlist2&XHR=1&timeout=60000 400 (Bad Request)
shortPoll request failed: error, Bad Request
Momentan bin ich etwas ratlos was ich noch machen kann außer crfs auf none zu setzen.
Benutze bitte die letzte Version.
Ein Aufruf mit timeout=60000 ist schon seit vielen Tagen nicht mehr dabei.
Hallo zusammen,
habe jetzt www/tablet gelöscht und das Verzeichnis komplett per update neu geholt und nur meine html-files hinein kopiert. Leider keine Änderung. Es kommt immer noch der Fehler wie in 429 beschrieben: "ShortPoll Request Failed::result is null".
Hat jemand eine Lösung für das Problem?
Grüße Michi
@michaelfhem: Nur zur Sicherheit, hast Du in fully mal den Cache gelöscht und kommt die Meldung auch von einem anderen Rechner mit einem anderen Browser?
IE und Chrome bringen die gleiche Fehlermeldung.
fully sagt: Error fhem-tablet-ui.js:740 TypeError: Object.keys called on non-object
Cache bei allen Browsern immer gelöscht.
Zusätzlich habe ich alle Tips aus den vorangegangen 29 Seiten probiert. Leider ohne Erfolg.
Grüße Michi
Bei mir ist nach Umstellung auf 2.6 der gleiche Fehler aufgetreten. Ich habe die beiden Verisonen jetzt mal verglichen. Und etwas gefunden, das meiner Ansicht nach die Ursache ist.
@setstate:
Soweit ich gesehen habe, hast Du den Aufruf $.getJSON
in Zeile 641 der Version 2.5 in den neuen Aufruf ftui.sendFhemCommand..
in Zeile 737 der Version 2.6 geändert. Das führt dazu, dass aus $.getJSON ein ajax get ohne Angabe des typs wird (getJSON ist ja nichts anderes als der ajax Aufruf mit dataType: "json"
). Dadurch kommt beim .done nur ein string zurück und kein json Objekt und beim Versuch auf .Results des Objektes fhemJSON zuzugreifen kommt nur undefined zurück und die Funktion läuft in den Fehler.
Mein Vorschlag: Du spendierst dem sendFhemCommand einen zweiten optionalen parameter "type", in den dann "json" übergeben wird. Zumindest wenn ich den code folgendermaßen ändere, kommt der Fehler nicht mehr und alles sieht OK aus.
Zeile 737: ftui.sendFhemCommand('jsonlist2 ' + ftui.poll.shortPollFilter,"json")
Zeile 1081: sendFhemCommand: function (cmdline,type) {
Nach Zeile 1085 zusätzlich: dataType:type?type:"",
Vielen Dank, eki. Werde ich so oder so ähnlich einbauen.
Ist in der 2.6.14 jetzt umgesetzt
Hallo Zusammen,
in der aktuellen fhem Version gibt es Icons für alle möglichen HUE Produkte(bloom,iris etc). In der Ftui finde ich nur zwei Icons für die Hue Bridge.
Kann man die anderen irgendwie übernehmen?
Gruss
lewej
Zitat von: lewej am 18 März 2017, 08:44:18
Hallo Zusammen,
in der aktuellen fhem Version gibt es Icons für alle möglichen HUE Produkte(bloom,iris etc). In der Ftui finde ich nur zwei Icons für die Hue Bridge.
Kann man die anderen irgendwie übernehmen?
Gruss
lewej
Ja, dazu müsstest Du genau so vorgehen wir hier: https://forum.fhem.de/index.php/topic,69008.0.html
habe auf Version 2.6.14 upgedated. Der Shortpoll-Fehler ist jetzt weg, Danke!. Allerdings hatte ich vermutet das meine Readings dehalb nicht upgedated wurden. Das ist aber immer noch der Fall:
z.B. wird bei folgenden Label immer ein uralter Wert angezeigt:
<div class="col">
<div data-type="label" data-device="KS300" data-get="temperature" data-part="2" data-limits='[-73,19,23]' data-colors='["#6699FF","#aa6900","#bb6242"]' class="grande bold yellow right-align"></div>
</div>
Unter fhem passt der Wert. Den Cache von meinen Browser (fully) lösche ich vor jeden Laden! Auch habe ich danach meine Tablet schon komplett neu gestartet. Trotzdem alte Werte?
Hier noch ein Log vom PC mit Chrome:
--------- start healthCheck --------------
fhem-tablet-ui.js:1359 now: Sun Mar 19 2017 10:03:00 GMT+0100 (Mitteleuropäische Zeit)
fhem-tablet-ui.js:1360 FTUI version: 2.6.14
fhem-tablet-ui.js:1361 Longpoll: true
fhem-tablet-ui.js:1362 Longpoll type: websocket
fhem-tablet-ui.js:1363 Longpoll objects there: true
fhem-tablet-ui.js:1364 Longpoll curent line: 34
fhem-tablet-ui.js:1365 Longpoll last event before: 2 Minute(n) 42 Sekunde(n)
fhem-tablet-ui.js:1366 Longpoll last reading update before: 17213 Tag(e) 10 Stunde(n) 3 Minute(n) 0 Sekunde(n)
fhem-tablet-ui.js:1367 Shortpoll interval: 900
fhem-tablet-ui.js:1368 Shortpoll last run before: 4 Minute(n) 58 Sekunde(n)
fhem-tablet-ui.js:1369 FHEM dev/par count: 3
fhem-tablet-ui.js:1370 FTUI known devices count: 381
fhem-tablet-ui.js:1371 Page length: 8922
fhem-tablet-ui.js:1372 Widgets count: 13
fhem-tablet-ui.js:1373 --------- end healthCheck ---------------
Werden den andere Readings aktualisiert?
Passt der Devicename und das Reading?
Devicename passt:
KS300
T: 10.9 H: 78 W: 3.0 R: 772.6 IR: no Wi: 1 D: 7.2
departure wird z.B. aktualisiert. Die meisten anderen Readings auch nicht. Schalter kann ich aber schalten? was ich im Log merkwürdig finde ist:
Longpoll last reading update before: 17213 Tag(e) 10 Stunde(n) 35 Minute(n) 2 Sekunde(n)
Daten scheinen aber schon zu kommen:
"WohnenheizungL_Clima-state-ts"
1:"2017-03-19 10:36:35"
2:"2017-03-19 10:36:35"
length:3
__proto__
:
Array[0]
ich vermute im HTML ist ein Syntax-Fehler / Device/Reading Fehler irgendwo anders, was sich indirekt auf anders auswirkt. Einfach mal die HTML Seite Zurückbauen auf das Nötigste und dann Stück für Stück neu zusammen setzen.
Leider wird auch dann das Reading nicht upgedatet. ALs Temepratur wird 13.2 Grad angezeigt. Realer Wert ist aber 11.5? Wo kommen diese 13.2 her? Den Browser Cache habe ich gelöscht. Speichert fhem da noch irgendetwas zwischen?
Copy aus FHEM:
KS300 T: 11.5 H: 74 W: 6.9 R: 772.6 IR: no Wi: 2 D: 7.0
temperature 11.5 2017-03-19 10:58:34
Anbei meine Minimalwebseite:
<!DOCTYPE html>
<html>
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<script src="js/fhem-tablet-ui.js" defer></script>
<title>FHEM-Tablet-UI</title>
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizey="1" data-sizex="1">
<header>TESTSeite</header>
<div class="sheet">
<div class="row">
<div class="cell">
<div data-type="label" data-device="KS300" data-get="temperature" class="big"></div>
</div>
</div>
</div>
</li>
</ul>
</div>
</body>
</html>
gespeichert wird im localStorage['deviceStates']
Aber warum es bei dir nicht aktualisiert ... Keine Ahnung mehr, mir fällt nix mehr ein.
Ist es denn bei jsonlist2 dabei? (jsonlist2 im FHEM WEB eingeben)
Wieso schreibst du im widget temperature und im Text T ?
ja ist in jsonlist2 enthalten:
"Internals": {
"CODE": "1234",
"CUL_MSGCNT": "119",
"CUL_RAWMSG": "810d04xx4027a00171711471406db2",
"CUL_RSSI": "-78",
"CUL_TIME": "2017-03-19 11:36:42",
"DEF": "1234",
"LASTInputDev": "CUL",
"MSGCNT": "119",
"NAME": "KS300",
"NR": "641",
"RAINUNIT": "255",
"STATE": "T: 11.7 H: 74 W: 4.1 R: 772.6 IR: no Wi: 1 D: 7.2",
"TYPE": "KS300",
"WINDUNIT": "1"
},
"Readings": {
"avg_day": { "Value":"T: 9.2 H: 83 W: 3.6 R: 1.7", "Time":"2017-03-19 11:36:42" },
"avg_month": { "Value":"T: 6.5 H: 33 W: 35.7 R: 36.2", "Time":"2017-03-19 00:02:47" },
"checksum": { "Value":"2", "Time":"2017-03-19 11:36:42" },
"cum_day": { "Value":"2017-03-19 00:02:47 T: 382035.4 H: 3486814 W: 151558.7 R: 770.9", "Time":"2017-03-19 11:36:42" },
"cum_month": { "Value":"18 T: 116.8 H: 608 W: 643.4 R: 36.2", "Time":"2017-03-19 00:02:47" },
"humidity": { "Value":"74", "Time":"2017-03-19 11:36:42" },
"israining": { "Value":"no", "Time":"2017-03-19 11:36:42" },
"rain": { "Value":"772.6", "Time":"2017-03-19 11:36:42" },
"rain_calc_all": { "Value":"cH: 0.0 lH: 0.0 cD: 0.0 lD: 4.5 IR: no Rnow: 0.0 Rdif: 0", "Time":"2017-03-19 11:36:42" },
"rain_calc_d_curr": { "Value":"0.0", "Time":"2017-03-19 11:36:42" },
"rain_calc_d_last": { "Value":"4.5", "Time":"2017-03-19 07:30:09" },
"rain_calc_d_start": { "Value":"772.6", "Time":"2017-03-19 07:30:09" },
"rain_calc_d_trig_tsecs": { "Value":"1489991400", "Time":"2017-03-19 07:30:09" },
"rain_calc_h_curr": { "Value":"0.0", "Time":"2017-03-19 11:36:42" },
"rain_calc_h_last": { "Value":"0.0", "Time":"2017-03-19 11:31:37" },
"rain_calc_h_start": { "Value":"772.6", "Time":"2017-03-19 11:31:37" },
"rain_calc_h_trig_tsecs": { "Value":"1489923000", "Time":"2017-03-19 11:31:37" },
"rain_calc_now_diff": { "Value":"0", "Time":"2017-03-19 11:36:42" },
"rain_calc_now_rate": { "Value":"0.0", "Time":"2017-03-19 11:36:42" },
"rain_calc_now_value": { "Value":"772.6", "Time":"2017-03-19 11:36:42" },
"rain_calc_tsecs": { "Value":"1489919802.59229", "Time":"2017-03-19 11:36:42" },
"rain_raw": { "Value":"3030", "Time":"2017-03-19 11:36:42" },
"rain_raw_adj": { "Value":"3030", "Time":"2017-03-19 11:36:42" },
"state": { "Value":"T: 11.7 H: 74 W: 4.1 R: 772.6 IR: no Wi: 1", "Time":"2017-03-19 11:36:42" },
"temperature": { "Value":"11.7", "Time":"2017-03-19 11:36:42" },
"tsecs": { "Value":"1489919802.5886", "Time":"2017-03-19 11:36:42" },
"type_raw": { "Value":"7", "Time":"2017-03-19 11:36:42" },
"unknown3": { "Value":"1", "Time":"2017-03-19 11:36:42" },
"wind": { "Value":"4.1", "Time":"2017-03-19 11:36:42" },
"windIndex": { "Value":"1", "Time":"2017-03-19 11:36:42" }
},
"Attributes": {
"IODev": "CUL",
"room": "KLIMA",
"sortby": "1"
}
},
wenn ich das html wie folgt umschreibe bekomme ich den Wert (also data-part="2" statt data-device="temperature":
<div data-type="label" data-device="KS300" data-part="2" class="big"></div>
@Nobby
KS300 hat den Wert auch einmal im State. Darauf greift auch "data-part" zu. Es gibt aber auch ein reading temperature das ich eigentlich verwende. Wollte damit nur aufzeigen das der Wert aktuell ist.
Grüße
Und KS300 ist der Devicename und nicht nur der Type?
ja:
define KS300 KS300 1234
Grüße Michi
Leider muss ich jetzt für 2h weg vom Rechner grrr....
Ich würde es testweise mal umbenennen.
in #441 schreibst du
Zitatdata-get="temperature" data-part="2"
das ist aber falsch , bei temperature darfst du data-part nicht angeben
"state": { "Value":"T: 11.7 H: 74 W: 4.1 R: 772.6 IR: no Wi: 1", "Time":"2017-03-19 11:36:42" },
"temperature": { "Value":"11.7", "Time":"2017-03-19 11:36:42" },
bei state ist 11.7 der 2. "Wert" aber bei temperature ist es der 1. "Wert" im Value
Ähnliche Probleme mit den Readings habe ich bei meinem GDS-Widget.
Ich hole mir erst ein Attribut, dann ein Reading (hier wird auch "update-gelauscht"), davon abhängig die anderen Readings.
Attribut (gdsUseAlerts) und erstes Reading (a_count) klappen (mittlerweile wieder)... der Rest wird nicht geholt, geschweigedenn überhaupt von FTUI angefordert (Request-URL).
Ich hatte dir dazu 'ne PN geschickt.
Grüße^^
Wenn es nicht angefordert wird, ist es nicht ordentlich als Reading zum Holen angemeldet.
Ansonsten den ShortPollFilter auf .* (alles Setzen), dann dauert es aber länger.
Zitat von: setstate am 19 März 2017, 13:01:17
Wenn es nicht angefordert wird, ist es nicht ordentlich als Reading zum Holen angemeldet.
Und das mache ich wie?
me.addReading();
???
in der init function? wo ist der unterschied zwischen init und init_attr?
So langsam muss ne "API" Doku her ;D ;D :P
Sonst hab ich es immer mit
elem.data('name', 'reading');
elem.getReading('name').val;
gemacht. Geht plötzlich nicht mehr...
Dazu kommt, dass ich das ganz ein einer for-Schleife habe, weil die Readings sich an einer stelle ändern wenn mehrere Warnmeldungen vorhanden sind.
Grüße^^
ja, me.addReading('ReadingName'); für alle Eventualitäten
init wird gerufen, wenn ein Widget initialisiert werden soll. init_attr ist was Individuelles, eine Unterfunktion, die manche Widgets benutzen, um nicht zu viel Spagetticode im Init zu haben. Ist auch so in der widget Base Class definiert. innerhalb von init wird init_attr und init_ui für jedes Element der Schleife gerufen. Wenn ein Widget also kein eigenes init mitbringt, kann es init_attr(elem) und init_ui(elem) implementieren.
Zitat von: setstate am 19 März 2017, 13:30:00
ja, me.addReading('ReadingName'); für alle Eventualitäten
na das wird ja ein spaß -.-
Danke
EDITOkay... cool... scheint zu laufen. Kann man prüfen ob ein Reading vorhanden oder/und gefüllt ist? Es kommt nämlich vor, dass Readings nicht vorhanden sind und dann das Reading aus dem Chache geladen wird... Das möchte ich vermeiden.
Grüße^^
elem.getReading('name').valid; ist dann auf false (wird bei jedem ShortPoll ermittelt)
@nobby:
Danke da hast Du Recht, das war nicht korrekt. Fakt ist:
Anzeigewert ok (aktueller Wert 14.3):
<div data-type="label" data-device="KS300" data-part="2" class="grande"></div>
Anzeigewert nicht ok (alter Wert 13.2):
<div data-type="label" data-device="KS300" data-get="temperature" class="grande"></div>
Anzeigewert nicht ok (alter Wert 13.2):
<div data-type="label" data-device="KS300" data-get="temperature" data-part="1" class="grande"></div>
Ähnliches Verhalten habe ich auch bei anderen Readings mit dem Label widget seit dem Update auf 2.6 vor ca. 2 Wochen. Davor haben alle diesen Readings funktioniert. Seitdem geht nur mehr wenig auf meiner Anzeige.
Grüße
weiteres Beispiel:
FHEM:
HMS_Keller
State T: 19.9 H: 64.8 Bat: ok D: 13.1
Reading temperature 19.9 2017-03-19 15:42:04
OK (aktueller Wert 19.9)
<div data-type="label" data-device="HMS_Keller" data-part="2" class="grande"></div>
Nicht OK (alter Wert 18.9)
<div data-type="label" data-device="HMS_Keller" data-get="temperature" class="grande"></div>
Anmerkung: jsonlist wurde kurz zuvor gezogen, deshalb ist hier die Temperatur 20 statt 19.9!
jsonlist2:
{
"Name":"HMS_Keller",
"PossibleSets":"",
"PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:0,1 showtime:0,1 model:hms100-t,hms100-tf,hms100-wd,hms100-mg,hms100-tfk,rm100-2,hms100-co,hms100-fit ignore:0,1 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon devStateStyle fhem_widget_command fp_Energiefloor fp_Groundfloor fp_Groundfloor.image fp_Handyfloor fp_Mobilityfloor icon lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 sortby webCmd widgetOverride userattr",
"Internals": {
"CODE": "72b2",
"CUL_MSGCNT": "165",
"CUL_RAWMSG": "810e04xx0510a00172b2000000002265",
"CUL_RSSI": "-76.5",
"CUL_TIME": "2017-03-19 15:36:51",
"DEF": "72b2",
"LASTInputDev": "CUL",
"MSGCNT": "165",
"NAME": "HMS_Keller",
"NR": "702",
"STATE": "T: 20 H: 65.2 Bat: ok D: 13.3",
"TYPE": "HMS"
},
"Readings": {
"battery": { "Value":"ok", "Time":"2017-03-19 15:36:51" },
"fan": { "Value":"off", "Time":"2017-03-19 11:26:27" },
"humidity": { "Value":"65.2", "Time":"2017-03-19 15:36:51" },
"state": { "Value":"T: 20 H: 65.2 Bat: ok", "Time":"2017-03-19 15:36:51" },
"temperature": { "Value":"20", "Time":"2017-03-19 15:36:51" },
"type": { "Value":"HMS100TF", "Time":"2017-03-19 15:36:51" }
},
"Attributes": {
"IODev": "CUL",
"room": "KLIMA"
}
},
wenn du folgendes in den HTML Header setzt, hast du wieder das alte Verhalten
<meta name="shortpoll_filter" content=".*">
Perfekt. Danke.
Das war die Lösung. Alle Werte sind wieder da und korrekt.
Grüße Michi
Jetzt im Nachgang ist mir aufgefallen, dass ich das Problem bei den Humidity-Werten auch hatte ... der meta-Name hat auch bei mir geholfen
wenn ich richtig verstanden habe ist es ohne meta name Filter aber schneller oder weniger Daten, korrekt?
Was muss man dann machen daamit readings auch auf neue Arte und Weise aktualisiert werden?
Grüße
Richtig.
Du muss rausbekommen, warum der Filter nicht von FHEM verstanden wird. Was gesendet wird steht im fhemlog oder siehst du in den Developertools. Ich vermute deine Namensgleichheit von Type und Device Name.
Namensgleichheit war es nicht. Habe ja gleiches Verhalten bei HMS_Keller (siehe auch 461). Aber ich werd es trotzdem nochmal testen.
Zitat von: setstate am 19 März 2017, 16:42:06
Ich vermute deine Namensgleichheit von Type und Device Name.
... aber das ist bei mir nicht so
wo steht das denn im fhemlog?
@setstate: Sorry, aber irgendwas kapiere ich nicht :(
Ich habe jetzt eine Testseite auf der nur 1 Sonos Player angezeigt wird ... wenn ich diesen starte dann sieht man im FHEM direkt das der transportState auf PLAYING wechselt ... auf der FTUI-Seite tut sich nix
Ich habe jetzt mal etwas herumgespielt und jetzt steht <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="shortpoll_interval" content="10">
Jetzt ändert sich etwas, aber erst nach etlicher Verzögerung ... es kann doch nicht sein, dass man das Interball auf 1 stellen muss, bei anderen Readings, z.B. Temperaturen, ändert der Wert sich doch sofort (das ist zumindest bisher immer mein Eindruck gewesen)
start shortpoll in (ms):10000
send to FHEM: set Sonos_Wohnzimmer Play
start shortpoll
send to FHEM: jsonlist2 .*
start shortpoll in (ms):10000
start shortpoll
send to FHEM: jsonlist2 .*
start shortpoll in (ms):10000
--------- start healthCheck --------------
now: Sun Mar 19 2017 23:27:20 GMT+0100 (Mitteleuropäische Zeit)
"now:"
[date] Sun Mar 19 2017 23:27:20 GMT+0100 (Mitteleuropäische Zeit)
FTUI version: 2.6.14
Longpoll: true
Longpoll type: websocket
Longpoll objects there: true
Longpoll curent line: 0
Longpoll last event before: 49 Sekunde(n)
Longpoll last reading update before: 17213 Tag(e) 23 Stunde(n) 27 Minute(n) 20 Sekunde(n)
Shortpoll interval: 10
Shortpoll last run before: 28 Sekunde(n)
FHEM dev/par count: 4928
FTUI known devices count: 224
Page length: 17090
Widgets count: 27
--------- end healthCheck ---------------
get jsonlist2: 17.735,218ms
shortpoll: fhemJSON.Results.length=235
update done for "Sonos_Wohnzimmer:transportState"
shortPoll - Done
read jsonlist2: 78,758ms
shortpoll: fhemJSON.Results.length=235
shortPoll - Done
read jsonlist2: 40,179ms
start shortpoll in (ms):10000
start shortpoll
send to FHEM: jsonlist2 .*
start shortpoll in (ms):10000
start shortpoll in (ms):10000
send to FHEM: set Sonos_Wohnzimmer Pause
get jsonlist2: 1.885,504ms
shortpoll: fhemJSON.Results.length=234
update done for "Sonos_Wohnzimmer:currentTrackPosition"
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:272
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:272
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:272
update done for "Sonos_Wohnzimmer:currentTrackPositionSec"
shortPoll - Done
read jsonlist2: 77,017ms
start shortpoll
send to FHEM: jsonlist2 .*
start shortpoll in (ms):10000
get jsonlist2: 1.670,82ms
shortpoll: fhemJSON.Results.length=234
update done for "Sonos_Wohnzimmer:currentTrackPosition"
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:281
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:281
slider dev:Sonos_Wohnzimmer par:currentTrackPositionSec changed to:281
update done for "Sonos_Wohnzimmer:currentTrackPositionSec"
update done for "Sonos_Wohnzimmer:transportState"
shortPoll - Done
read jsonlist2: 75ms
start shortpoll in (ms):10000
nimm das shortpoll_intervall wieder raus und setzte
<meta name="longpoll_filter" content=".*">
Zur Erklärung:
Wenn shortpoll_filter bzw. longpoll_filter nicht gesetzt sind, werden die Filter automatisch anhand der gegebenen Definition gebildet. Diese bestehen aus einer Liste Devices mit Komma separiert gefolgt von einer Liste aller Readings mit Space separiert. Die Filter müssen einer gültigen DevSpec entsprechen.
Wenn damit dann aber ein Synchronisieren mit FHEM nicht mehr funktioniert, könnte es an einer ungültigen Devspec liegen (z.B. Sonderzeichen in Liste).
Habe mit dem neuesten Update auf 2.6.14 das Problem, dass das longpoll bei jedem zweiten Aufruf "ins Leere" läuft?
Konsolenausgabe:
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 92ms]
GET
https://...........net/fhem/ [HTTP/1.1 200 Connection established 547ms]
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: kz_Thermostat_Climate:STATE" widget_chart.js:68:34
"update done for "kz_Thermostat_Climate:STATE"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: kz_Thermostat_Climate:desired-temp" widget_chart.js:68:34
"update done for "kz_Thermostat_Climate:desired-temp"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: rr_Mathias:STATE" widget_chart.js:68:34
"update done for "rr_Mathias:STATE"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: rr_Anna:STATE" widget_chart.js:68:34
"update done for "rr_Anna:STATE"" fhem-tablet-ui.js:1716:12
"Error while longpoll" fhem-tablet-ui.js:1716:12
"websocket closed: The connection was closed abnormally, e.g., without sending or receiving a Close control frame" fhem-tablet-ui.js:1716:12
"restartLongpoll" fhem-tablet-ui.js:1716:12
"stopLongpoll" fhem-tablet-ui.js:1716:12
"startLongpoll: true" fhem-tablet-ui.js:1716:12
"websockets URL=wss://...........net/fhem/?XHR=1&inform=type=status;addglobal=1;filter=WEB,,TV_Programm,sz_Fenster_links,sz_Fenster_rechts,wz_Tuer_links,bad_Heizung_Clima,bad_Thermostat_Weather,ku_Heizung_Clima,ku_Thermostat_Weather,kz_Heizung_Clima,kz_Thermostat_Weather,sz_Heizung_Clima,sz_Thermostat_Weather,wz_Heizung_Clima,wz_Thermostat_Weather,bad_Thermostat_Climate,ku_Thermostat_Climate,kz_Thermostat_Climate,sz_Thermostat_Climate,wz_Thermostat_Climate,PartyControl,FileLog_Prologue_145,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,rgr_Bewohner,rr_Mathias,rr_Anna,MuellterminDummy,Wetter_Pforzheim,Fahrzeiten_Arbeit,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,Termine_aktuell,FensterStatus STATE longpoll ARD_time ARD ARD_next_time ARD_next ZDF_time ZDF ZDF_next_time ZDF_next Sat1_time Sat1 Sat1_next_time Sat1_next RTL_time RTL RTL_next_time RTL_next RTL2_time RTL2 RTL2_next_time RTL2_next Pro7_time Pro7 Pro7_next_time Pro7_next VOX_time VOX VOX_next_time VOX_next Kabel eins_time Kabel eins Kabel eins_next_time Kabel eins_next DMAX_time DMAX DMAX_next_time DMAX_next NTV_time NTV NTV_next_time NTV_next N24_time N24 N24_next_time N24_next Phoenix_time Phoenix Phoenix_next_time Phoenix_next ServusTV_time ServusTV ServusTV_next_time ServusTV_next SuperRTL_time SuperRTL SuperRTL_next_time SuperRTL_next ValvePosition temperature humidity desired-temp Device setList Temp Dauer state GelbeTonne GrueneTonne fc1_condition fc2_condition fc3_condition fc4_condition fc1_low_c fc1_high_c wind wind_condition pressure pressure_trend_sym visibility fc2_day_of_week fc2_low_c fc2_high_c fc3_day_of_week fc3_low_c fc3_high_c fc4_day_of_week fc4_low_c fc4_high_c duration_in_traffic return_duration_in_traffic Diesel SuperE5 SuperE10 Summe offen;fmt=JSON&fwcsrf=csrf_192141849996496227008" fhem-tablet-ui.js:1716:12
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 78ms]
GET
https://...........net/fhem/ [HTTP/1.1 200 Connection established 583ms]
"--------- start healthCheck --------------" fhem-tablet-ui.js:1358:12
"now:" Date 2017-03-20T10:54:53.159Z fhem-tablet-ui.js:1359:0
"FTUI version: 2.6.14" fhem-tablet-ui.js:1360:12
"Longpoll: true" fhem-tablet-ui.js:1361:12
"Longpoll type: websocket" fhem-tablet-ui.js:1362:12
"Longpoll objects there: true" fhem-tablet-ui.js:1363:0
"Longpoll curent line: 0" fhem-tablet-ui.js:1364:12
"Longpoll last event before: 15 Sekunde(n)" fhem-tablet-ui.js:1365:0
"Longpoll last reading update before: 18 Sekunde(n)" fhem-tablet-ui.js:1366:0
"Shortpoll interval: 900" fhem-tablet-ui.js:1367:12
"Shortpoll last run before: 3 Minute(n) 44 Sekunde(n)" fhem-tablet-ui.js:1368:0
"FHEM dev/par count: 185" fhem-tablet-ui.js:1369:0
"FTUI known devices count: 108" fhem-tablet-ui.js:1370:0
"Page length: 251084" fhem-tablet-ui.js:1371:0
"Widgets count: 239" fhem-tablet-ui.js:1372:0
"--------- end healthCheck ---------------" fhem-tablet-ui.js:1373:12
"Error while longpoll" fhem-tablet-ui.js:1716:12
"websocket closed: The connection was closed abnormally, e.g., without sending or receiving a Close control frame" fhem-tablet-ui.js:1716:12
"restartLongpoll" fhem-tablet-ui.js:1716:12
"stopLongpoll" fhem-tablet-ui.js:1716:12
"startLongpoll: true" fhem-tablet-ui.js:1716:12
"websockets URL=wss://...........net/fhem/?XHR=1&inform=type=status;addglobal=1;filter=WEB,,TV_Programm,sz_Fenster_links,sz_Fenster_rechts,wz_Tuer_links,bad_Heizung_Clima,bad_Thermostat_Weather,ku_Heizung_Clima,ku_Thermostat_Weather,kz_Heizung_Clima,kz_Thermostat_Weather,sz_Heizung_Clima,sz_Thermostat_Weather,wz_Heizung_Clima,wz_Thermostat_Weather,bad_Thermostat_Climate,ku_Thermostat_Climate,kz_Thermostat_Climate,sz_Thermostat_Climate,wz_Thermostat_Climate,PartyControl,FileLog_Prologue_145,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,rgr_Bewohner,rr_Mathias,rr_Anna,MuellterminDummy,Wetter_Pforzheim,Fahrzeiten_Arbeit,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,Termine_aktuell,FensterStatus STATE longpoll ARD_time ARD ARD_next_time ARD_next ZDF_time ZDF ZDF_next_time ZDF_next Sat1_time Sat1 Sat1_next_time Sat1_next RTL_time RTL RTL_next_time RTL_next RTL2_time RTL2 RTL2_next_time RTL2_next Pro7_time Pro7 Pro7_next_time Pro7_next VOX_time VOX VOX_next_time VOX_next Kabel eins_time Kabel eins Kabel eins_next_time Kabel eins_next DMAX_time DMAX DMAX_next_time DMAX_next NTV_time NTV NTV_next_time NTV_next N24_time N24 N24_next_time N24_next Phoenix_time Phoenix Phoenix_next_time Phoenix_next ServusTV_time ServusTV ServusTV_next_time ServusTV_next SuperRTL_time SuperRTL SuperRTL_next_time SuperRTL_next ValvePosition temperature humidity desired-temp Device setList Temp Dauer state GelbeTonne GrueneTonne fc1_condition fc2_condition fc3_condition fc4_condition fc1_low_c fc1_high_c wind wind_condition pressure pressure_trend_sym visibility fc2_day_of_week fc2_low_c fc2_high_c fc3_day_of_week fc3_low_c fc3_high_c fc4_day_of_week fc4_low_c fc4_high_c duration_in_traffic return_duration_in_traffic Diesel SuperE5 SuperE10 Summe offen;fmt=JSON&fwcsrf=csrf_192141849996496227008" fhem-tablet-ui.js:1716:12
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 53ms]
GET
https://...........net/fhem/
Siehe auch das Screenshot.
Es werden ständig die Popups mit den Fehlermeldungen und den Hinweisen auf Neustart von Longpoll angezeigt.
Was läuft da schief?
Gruß
Mathias
ja, mit beiden Einträgen
<meta name="longpoll_filter" content=".*">
<meta name="shortpoll_filter" content=".*">
funktioniert es jetzt
Jetzt wieder zurück zu dem Problem, warum ich diese Testseite gebaut habe ... data-timer im slider-widget scheint nicht richtig zu funktionieren
<div data-type="slider"
data-device="Sonos_Wohnzimmer"
data-set="CurrentTrackPosition"
data-get="currentTrackPositionSec"
data-max="currentTrackDurationSec" data-min="0"
data-step="1"
data-handle-diameter="3"
data-width="520"
data-timer-state="Sonos_Wohnzimmer:transportState"
data-timer-state-on="PLAYING"
data-timer-state-off="!on"
data-timer-step="1"
data-timer-interval="1000"
class="horizontal">
</div>
manchmal wird der Slider korrekt jede Sekunde um 1 verschoben ... aber manchmal klappt es nur ruckweise wenn der position-Wert sich ändert
Und Beides, poll und timed-slider, hat m.E. bei einer älteren 2.6.x-Version funktioniert
@setstate: ich habe in widget_slider.js ein paar logs eingebaut und weiß jetzt was passiert, verstehe aber nicht warum
function setTimer(elem, state) {
console.log(1, 'slider setTimer:' +state+" "+elem.isValidData('timer-id'));
if (state === 'on' && !elem.isValidData('timer-id')) {
wenn es funktioniert ist state on und elem.isValidData('timer-id') ist falsch und der Timer wird aufgesetzt ...
wenn es nicht funktioniert ist elem.isValidData('timer-id') wahr und der Timer wird nicht gestartet
hier if (state === 'off' && elem.isValidData('timer-id')) {
clearInterval(elem.data('timer-id'));
wird beim Stoppen des Players der Timer zwar gestoppt, aber elem.isValidData('timer-id') ist danach weiterhin wahr
Zitat von: n4rrOx am 20 März 2017, 12:04:48
Habe mit dem neuesten Update auf 2.6.14 das Problem, dass das longpoll bei jedem zweiten Aufruf "ins Leere" läuft?
Konsolenausgabe:
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 92ms]
GET
https://...........net/fhem/ [HTTP/1.1 200 Connection established 547ms]
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: kz_Thermostat_Climate:STATE" widget_chart.js:68:34
"update done for "kz_Thermostat_Climate:STATE"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: kz_Thermostat_Climate:desired-temp" widget_chart.js:68:34
"update done for "kz_Thermostat_Climate:desired-temp"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: rr_Mathias:STATE" widget_chart.js:68:34
"update done for "rr_Mathias:STATE"" fhem-tablet-ui.js:1716:12
"warning: loading has not implemented update function" fhem-tablet-ui.js:1716:12
"Function: widget_chart.update" "Update triggered with: rr_Anna:STATE" widget_chart.js:68:34
"update done for "rr_Anna:STATE"" fhem-tablet-ui.js:1716:12
"Error while longpoll" fhem-tablet-ui.js:1716:12
"websocket closed: The connection was closed abnormally, e.g., without sending or receiving a Close control frame" fhem-tablet-ui.js:1716:12
"restartLongpoll" fhem-tablet-ui.js:1716:12
"stopLongpoll" fhem-tablet-ui.js:1716:12
"startLongpoll: true" fhem-tablet-ui.js:1716:12
"websockets URL=wss://...........net/fhem/?XHR=1&inform=type=status;addglobal=1;filter=WEB,,TV_Programm,sz_Fenster_links,sz_Fenster_rechts,wz_Tuer_links,bad_Heizung_Clima,bad_Thermostat_Weather,ku_Heizung_Clima,ku_Thermostat_Weather,kz_Heizung_Clima,kz_Thermostat_Weather,sz_Heizung_Clima,sz_Thermostat_Weather,wz_Heizung_Clima,wz_Thermostat_Weather,bad_Thermostat_Climate,ku_Thermostat_Climate,kz_Thermostat_Climate,sz_Thermostat_Climate,wz_Thermostat_Climate,PartyControl,FileLog_Prologue_145,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,rgr_Bewohner,rr_Mathias,rr_Anna,MuellterminDummy,Wetter_Pforzheim,Fahrzeiten_Arbeit,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,Termine_aktuell,FensterStatus STATE longpoll ARD_time ARD ARD_next_time ARD_next ZDF_time ZDF ZDF_next_time ZDF_next Sat1_time Sat1 Sat1_next_time Sat1_next RTL_time RTL RTL_next_time RTL_next RTL2_time RTL2 RTL2_next_time RTL2_next Pro7_time Pro7 Pro7_next_time Pro7_next VOX_time VOX VOX_next_time VOX_next Kabel eins_time Kabel eins Kabel eins_next_time Kabel eins_next DMAX_time DMAX DMAX_next_time DMAX_next NTV_time NTV NTV_next_time NTV_next N24_time N24 N24_next_time N24_next Phoenix_time Phoenix Phoenix_next_time Phoenix_next ServusTV_time ServusTV ServusTV_next_time ServusTV_next SuperRTL_time SuperRTL SuperRTL_next_time SuperRTL_next ValvePosition temperature humidity desired-temp Device setList Temp Dauer state GelbeTonne GrueneTonne fc1_condition fc2_condition fc3_condition fc4_condition fc1_low_c fc1_high_c wind wind_condition pressure pressure_trend_sym visibility fc2_day_of_week fc2_low_c fc2_high_c fc3_day_of_week fc3_low_c fc3_high_c fc4_day_of_week fc4_low_c fc4_high_c duration_in_traffic return_duration_in_traffic Diesel SuperE5 SuperE10 Summe offen;fmt=JSON&fwcsrf=csrf_192141849996496227008" fhem-tablet-ui.js:1716:12
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 78ms]
GET
https://...........net/fhem/ [HTTP/1.1 200 Connection established 583ms]
"--------- start healthCheck --------------" fhem-tablet-ui.js:1358:12
"now:" Date 2017-03-20T10:54:53.159Z fhem-tablet-ui.js:1359:0
"FTUI version: 2.6.14" fhem-tablet-ui.js:1360:12
"Longpoll: true" fhem-tablet-ui.js:1361:12
"Longpoll type: websocket" fhem-tablet-ui.js:1362:12
"Longpoll objects there: true" fhem-tablet-ui.js:1363:0
"Longpoll curent line: 0" fhem-tablet-ui.js:1364:12
"Longpoll last event before: 15 Sekunde(n)" fhem-tablet-ui.js:1365:0
"Longpoll last reading update before: 18 Sekunde(n)" fhem-tablet-ui.js:1366:0
"Shortpoll interval: 900" fhem-tablet-ui.js:1367:12
"Shortpoll last run before: 3 Minute(n) 44 Sekunde(n)" fhem-tablet-ui.js:1368:0
"FHEM dev/par count: 185" fhem-tablet-ui.js:1369:0
"FTUI known devices count: 108" fhem-tablet-ui.js:1370:0
"Page length: 251084" fhem-tablet-ui.js:1371:0
"Widgets count: 239" fhem-tablet-ui.js:1372:0
"--------- end healthCheck ---------------" fhem-tablet-ui.js:1373:12
"Error while longpoll" fhem-tablet-ui.js:1716:12
"websocket closed: The connection was closed abnormally, e.g., without sending or receiving a Close control frame" fhem-tablet-ui.js:1716:12
"restartLongpoll" fhem-tablet-ui.js:1716:12
"stopLongpoll" fhem-tablet-ui.js:1716:12
"startLongpoll: true" fhem-tablet-ui.js:1716:12
"websockets URL=wss://...........net/fhem/?XHR=1&inform=type=status;addglobal=1;filter=WEB,,TV_Programm,sz_Fenster_links,sz_Fenster_rechts,wz_Tuer_links,bad_Heizung_Clima,bad_Thermostat_Weather,ku_Heizung_Clima,ku_Thermostat_Weather,kz_Heizung_Clima,kz_Thermostat_Weather,sz_Heizung_Clima,sz_Thermostat_Weather,wz_Heizung_Clima,wz_Thermostat_Weather,bad_Thermostat_Climate,ku_Thermostat_Climate,kz_Thermostat_Climate,sz_Thermostat_Climate,wz_Thermostat_Climate,PartyControl,FileLog_Prologue_145,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,rgr_Bewohner,rr_Mathias,rr_Anna,MuellterminDummy,Wetter_Pforzheim,Fahrzeiten_Arbeit,Total_Haidach,Shell_Enzberg,Aral_Muehlacker,Termine_aktuell,FensterStatus STATE longpoll ARD_time ARD ARD_next_time ARD_next ZDF_time ZDF ZDF_next_time ZDF_next Sat1_time Sat1 Sat1_next_time Sat1_next RTL_time RTL RTL_next_time RTL_next RTL2_time RTL2 RTL2_next_time RTL2_next Pro7_time Pro7 Pro7_next_time Pro7_next VOX_time VOX VOX_next_time VOX_next Kabel eins_time Kabel eins Kabel eins_next_time Kabel eins_next DMAX_time DMAX DMAX_next_time DMAX_next NTV_time NTV NTV_next_time NTV_next N24_time N24 N24_next_time N24_next Phoenix_time Phoenix Phoenix_next_time Phoenix_next ServusTV_time ServusTV ServusTV_next_time ServusTV_next SuperRTL_time SuperRTL SuperRTL_next_time SuperRTL_next ValvePosition temperature humidity desired-temp Device setList Temp Dauer state GelbeTonne GrueneTonne fc1_condition fc2_condition fc3_condition fc4_condition fc1_low_c fc1_high_c wind wind_condition pressure pressure_trend_sym visibility fc2_day_of_week fc2_low_c fc2_high_c fc3_day_of_week fc3_low_c fc3_high_c fc4_day_of_week fc4_low_c fc4_high_c duration_in_traffic return_duration_in_traffic Diesel SuperE5 SuperE10 Summe offen;fmt=JSON&fwcsrf=csrf_192141849996496227008" fhem-tablet-ui.js:1716:12
GET
https://...........net/fhem/ [HTTP/1.1 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) 53ms]
GET
https://...........net/fhem/
Siehe auch das Screenshot.
Es werden ständig die Popups mit den Fehlermeldungen und den Hinweisen auf Neustart von Longpoll angezeigt.
Was läuft da schief?
Gruß
Mathias
Hallo Mathias,
wie ist der Status bei dir? Ich bekomme auch ständig die Meldung:
websocket closed:
The connection was closed abnormally,
e.g., without sending or receiving a Close
control frame
Ich nutze vorwiegend IOS Safari auf IPAD2+4, bekomme die Meldung aber auch im Chrome-Browser. Websocket ist im TabletUI und FHEMWEB-Device aktiviert.
Paul
Hallo Paul,
hab bereits alles versucht, was so vorgeschlagen wurde .... <head> Bereich ist Folgendes definiert:
<meta name="longpoll" content="websocket">
<meta name="longpoll_filter" content=".*">
<meta name="longpoll_maxage" content="600">
Habe auch wie hier angemerkt ( Thema: longpoll über websocket, Datenlänge bei Readings>64K falsch):
https://forum.fhem.de/index.php/topic,69362.0/topicseen.html (https://forum.fhem.de/index.php/topic,69362.0/topicseen.html)
...heute nochmals ein Update von FHEM gemacht.
Alles ohne Änderungen ..... in den Namensgebungen meiner Devices kann ich mich auch nicht an Punkte, Umlaute oder ähnliche Sonderzeichen erinnern....
Ich bin momentan ratlos.....??
Geht mir genauso ::)
Update: Aktuell bei mir keine Websocket-Closed Meldungen mehr.
Leider habe ich k.A. warum, ich habe eigentlich nur im FHEMWEB-Device CORS deaktiviert. Das hatte ich irgendwann mal reingenommen.
Ich werde weiter beobachten.
Paul
Zitat von: Paul.baumann am 21 März 2017, 08:20:18
Hallo Mathias,
wie ist der Status bei dir? Ich bekomme auch ständig die Meldung:
websocket closed:
The connection was closed abnormally,
e.g., without sending or receiving a Close
control frame
Ich nutze vorwiegend IOS Safari auf IPAD2+4, bekomme die Meldung aber auch im Chrome-Browser. Websocket ist im TabletUI und FHEMWEB-Device aktiviert.
Paul
Es könnte noch Probleme bei der Kombination: WebSocket-Longpoll + Pagetab + Pagetab-Seite umgeschaltet geben.
Vermutlich wird die Connection nicht sauber beim Umschalten beendet und dann einfach neu (doppelt) aufgebaut.
Dann bricht die Gegenseite (FHEM) immer wieder die Verbindung von sich ab + Neuaufbau von FTUI-Seite und wieder Abbruch als Endlosschleife
Dann muss man erst einmal auf AJAX-Longpoll zurück
<meta name='longpoll_type' content='ajax'>
Zitat von: setstate am 22 März 2017, 07:03:33
Es könnte noch Probleme bei der Kombination: WebSocket-Longpoll + Pagetab + Pagetab-Seite umgeschaltet geben.
Vermutlich wird die Connection nicht sauber beim Umschalten beendet und dann einfach neu (doppelt) aufgebaut.
Dann bricht die Gegenseite (FHEM) immer wieder die Verbindung von sich ab + Neuaufbau von FTUI-Seite und wieder Abbruch als Endlosschleife
Ich habe bei meinem FTUI gar keine Schaltflächen, da ich es als Infobildschirm benutze. Auch hier das gleiche Problem. Daher würde ich Pagetab eher ausschließen.
Evtl. schließt FHEM den Socket, wenn eine bestimmte Zeit nichts übertragen wird ???
Gruß,
Kuzl
Zitat von: setstate am 22 März 2017, 07:03:33
Es könnte noch Probleme bei der Kombination: WebSocket-Longpoll + Pagetab + Pagetab-Seite umgeschaltet geben.
Vermutlich wird die Connection nicht sauber beim Umschalten beendet und dann einfach neu (doppelt) aufgebaut.
Dann bricht die Gegenseite (FHEM) immer wieder die Verbindung von sich ab + Neuaufbau von FTUI-Seite und wieder Abbruch als Endlosschleife
Dann muss man erst einmal auf AJAX-Longpoll zurück
<meta name='longpoll_type' content='ajax'>
Hi,
habe bei mir nur Pagebutton im Einsatz.
Bin jetzt aber auch zurück auf AJAX.
<meta name="longpoll_type" content="ajax">
<meta name="longpoll" content="1">
Es kommt zwar bei jedem Seitenaufruf der Toast "Retry to connect in 10 Sec...", aber dafür kommen nicht ständig die Fehlermeldungen und die Readings werden auch richtig dargestellt.
Das mit dem Re-Start longpoll ist nur ein Schönheitsfehler. Longpoll wird bei jedem Seitenwechsel neu gestartet. Auch bei Pagebutton. Welcher Typ von Restart angezeigt wird, müsste ich noch optimieren.
Zitat von: setstate am 22 März 2017, 07:03:33
Es könnte noch Probleme bei der Kombination: WebSocket-Longpoll + Pagetab + Pagetab-Seite umgeschaltet geben.
Vermutlich wird die Connection nicht sauber beim Umschalten beendet und dann einfach neu (doppelt) aufgebaut.
Dann bricht die Gegenseite (FHEM) immer wieder die Verbindung von sich ab + Neuaufbau von FTUI-Seite und wieder Abbruch als Endlosschleife
Dann muss man erst einmal auf AJAX-Longpoll zurück
<meta name='longpoll_type' content='ajax'>
Das gleiche Problem habe ich auch mit WebSocket-Longpoll + tab-link oder link über Slideout.
Rufe ich die Seite direkt auf. Also z.B. via:
https://meindynvpn.de:8443/ftuib/index_m_adm.html#adm/detail_notes.php
dann funktioniert es.
Gibt's diesbezüglich schon was neues?
Hallo Leute
Kann mir jemand vielleicht sagen was sich in 2.6 geändert hat? Habe mich durch die 33 Seiten sporadisch durchgelesen.
Hab rausgefunden das sich die Seite selbst auf Tablet anpasst.
Danke für die Hilfe schon mal.
Ich habe gestern mal auf 2.6 aktualisiert und nach einer Stunde dann wieder zurück.
Was mir aufgefallen ist:
- Dimensionen stimmen nicht nachvollziehbar nicht mehr. Fonts werden kleiner (war ja auch so angekündigt), konnte aber keine richtige Größenstufe mehr finden. Icons werden größer, müssen also kleiner werden. Abstände werden größer und da konnte ich keine Lösung finden. Dies ist besonders ärgerlich, wenn man mehrere Labels oder Icons in einem Grid kombiniert
- Switch und Dimmer funktionieren danach nur noch in einer Richtung. Aktualisierungen werden nicht angezeigt. Habe es mit AJAX und weblocker probiert short- und long-soll und auch die Filter. Kein Erfolg. Für normale Label-Anzeigen wie Temperatur funktioniert es aber.
- Manche Buttons oder Icons waren einfach zu groß. Habe es nicht hinbekommen, sie in das Maß vor der Umstellung zu bringen
Hallo,
ich habe eine Frage zu Ftui 2.6 auf nem iPad.
Wenn Ich das als Bookmark (Web Clip) auf dem Homescreen speichere bekomme ich beim öffnen den gewünschten Full-Screen-View.
Um das ganze von der Konsole (jailbroken) zu starten weiss ich nur den weg mit 'open' von Conrad Kramer.
'open bundle_identifier'
aber wie bekomme ich den bundle_identifier heraus?
Oder gibts eine andere Möglichkeit FTUI zu starten?
Merci, Alexander
Hallo,
hab eine Frage zu "linkname":
Ich baue mein ftui gerade von "slideout" auf "tab-bar" um.
Ich bekomme es aber nicht gebacken, dass im header der "linkname" angezeigt wird.
hat jemand eine idee?
thx
olli
Hallo Leute ich habe ein Problem.
Hier wurde das problem schon beschrieben aber leider ohne lösung.
https://forum.fhem.de/index.php/topic,74262.0.html
meine indexseite habe ich mit reingepackt vielleicht kann mir ja jemand sagen was ich genau ändern muss.
Zitat von: Wasserwerk33 am 24 Juli 2017, 11:52:28
Hier wurde das problem schon beschrieben aber leider ohne lösung.
Zitat von: tante ju am 23 Juli 2017, 23:43:11
Wenn ein ungültiges Widget verwendet wird, dann stoppt die ganze Aktualisierung. Also in der Java Konsole nach Fehlermeldungen Ausschau halten.
Sieht für mich schon wie eine lösung aus.
Zitat von: Wasserwerk33 am 24 Juli 2017, 11:52:28
Hallo Leute ich habe ein Problem.
Hier wurde das problem schon beschrieben aber leider ohne lösung.
https://forum.fhem.de/index.php/topic,74262.0.html
meine indexseite habe ich mit reingepackt vielleicht kann mir ja jemand sagen was ich genau ändern muss.
Habe es nicht genau durchgeschaut, aber mir sind auf Anhieb Umlaute aufgefallen. Ich würde ASCII nicht überstrapazieren. Und ich hatte auch das Gefühl, hier und da zu viele </div> zu sehen. Vielleicht die Struktur mal prüfen?
Hey Leute
Bin was fhem angeht nicht gut. Tablet Ui noch weniger.
Bin gut wenn es läuft wenn es nicht läuft habe ich ein riesen Problem.
bei mir steht auf Fhem das ich einen Syntax Fehler habe.
Unexpected identifier `not`
irgendwer eine ungefähre Ahnung?
ZitatIch würde ASCII nicht überstrapazieren.
was meint ihr damit?
danke für eure hilfe
Ich habe gestern ein Update auf die neue FTUI gemacht und seitdem wird meine UI nicht mehr aktualisiert.
Finde aber nicht, woran es liegen kann.
Hat da jemand einen Tipp für mich?
Hi,
kann das sein das longpoll per websocket nur funktioniert, wenn man keinen Apache Webserver dazwischen hat?
Rufe ich FTUI direkt auf (fhem:8083/fhem) funktioniert das longpoll. Gehe ich über meinen Apache (ip/fhem) laufen keine Daten und longpolling restartet alle 10sek weil keine Daten kommen.
Gibt es hier ev. eine Lösung?
Schnell aus der Readme kopiert
To change the folder where FHEM can be reached for polling
<meta name='fhemweb_url' content='/fhem/'>
Hi setstate,
danke für die info. Ich denke aber das das nicht das Problem ist? Ich habe es zwar so gesetzt, aber der rootpath ist bei Beiden derselbe:
http://192.168.10.30:8083/fhem
https://192.168.10.30/fhem
Ich würde das aber in diesem Fall absolut angeben. Das liefert das gewünschte Ergebiss:
<meta name='fhemweb_url' content='http://192.168.10.30:8083/fhem'>
Ich glaube, Tobias muss genauer definieren, was der Apache macht. Wenn der nämlich ReverseProxy spielt, sollten auch die Websocket-Anfragen weitergeleitet werden.
Hallo,
ich habe mich aufgrund der Kommentare hier etwas gesträubt ein Update auf 2.6 zu machen. Die Zeit, die ich hinterher zum Basteln benötige korreliert exponential negativ mit dem WAF-Effekt:-)
Kann mir jemand glaubhaft versichern, dass die 2.6 mittlerweile (nach einem halben Jahr) stabil läuft und für Produktiv-Systeme zu empfehlen ist?
Grüße
Stephan
Hallo,
bei mir schon. Aber überzeug dich doch einfach selbst und mach ein update auf eine Kopie deiner Seite. Dann siehst du was du alles anpassen mußt und der WAF Faktor kommt erstmal nicht ins Spiel.
Gruß
Eisix
genau, du kannst das doch ganz einfach ausprobieren...
kopierst dir eine zweite /tablet Instanz und machst ein update und schon weißt du was geht... ;)
Bist du unzufrieden einfach löschen und die alte /tablet wieder nutzen
danke für den Hinweis. Werd ich mal so versuchen. Wie genau mach ich denn das Update auf nur eine Instanz über einen FHEM-Befehl?
Hab aktuell 2 Instanzen laufen (1x Tablet / 1x Mobil). Würde die Tablet-Instanz dann als Test-Instanz kopieren und die erstmal Updaten wollen.
Das Update geht immer nur für den /tablet Ordner, also kopieren und umbenennen und dann passiert mit deinem Umbenannten Ordner nichts
Hallo state,
ist es möglich beim data-type="symbol", das icon über ein Reading zu setzen? Ich habe in meinen HUE Devices das Reading ftuiIcon hinterlegt.
Vorteil, dann braucht man nicht für jede Lampe ein Template zu schreiben.
Dann würde ich gerne das data-type=popup gerne hiden, ist das möglich?
Gruß
lewej
Icon per Reading ändern funktioniert aktuell nicht. Wäre aber kein Hexenwerk, das einzubauen.
Zitat von: setstate am 30 Oktober 2017, 09:09:54
Icon per Reading ändern funktioniert aktuell nicht. Wäre aber kein Hexenwerk, das einzubauen.
Hallo state,
Wäre Super wenn du das machen könntest.
Wäre das mit dem Popup auch möglich?
Grüsse
lewej
Die Frage zum Popup verstehe ich nicht so recht.
Man kann aber auch Popup per FHEM Device öffnen und schließen
<div data-type="popup" data-device="ftuitest" data-get-on="on" data-get-off="(off|aus)" ...
Moin zusammen,
FTUI ist bei mir seit längerem in Betrieb und funktioniert super.
@setstate: Generell "Hut ab" und vielen lieben Danke für Deine tolle Arbeit :D
Es gibt lediglich längere Ladezeiten bei der Nutzung von "pagetab" in Verbindung mit "swiper" in meiner Umgebung.
Bevor ich aufgrund der Ladezeiten mein generelles Design nochmals überarbeite, habe ich mich nochmals durch das Forum gegraben und bin darauf gestoßen, dass die Verwendung von
Zitatattr WEB longpoll websocket
ggf. mein "Problem- Ladezeiten" positiv beeinflussen könnte,...
In meiner Umgebung ist jedoch "basicAuth" gesetzt, worauf ich nicht verzichten möchte.
Nun die Frage:
Gilt diese Restriktion noch oder hat sich das erledigt?
Zitat von: setstate am 11 Februar 2017, 14:59:21
...
Achtung: longpoll=websocket funktioniert nicht zusammen mit basicAuth (Device allowed_WEB)
attr WEB longpoll websocket
...
Gruß
Leeloo
==> Nachtrag:
Eine weiterer Punkt ist mir seit dem heutigen Update aufgefallen, die Wetter-Icons werden größer dargestellt als zuvor. (siehe Anhang).
Welche Möglichkeit gibt es die "alte" Anzeigegröße wieder zu erhalten? Bzw. gibt es noch etwas kleineres als "mini"?
Die alte Definition war bereits:
Zitat<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="condition" data-imageset="kleinklima" class="cell mini"></div>
so, hab mich jetzt mit einer Test-Umgebung an das Update gewagt und dazu ein paar kleine Fragen:
1. das Update brach erst mal immer ab weil ich ein paar example.htmls gelöscht hatte (Ordnung muss sein). Nachdem ich mir die manuell runtergeladen hatte lief es durch (evnt. könnte die Update-Funktion angepasst werden und die Daten automatisch wieder herstellen wenn nicht vorhanden? Oder halt einfach nicht abbrechen?)
2. nachdem ich die Formatierungen soweit wieder angepasst habe hab ich noch folgendes Problem: in einer row/col-Tabelle stehen in einer Spalte Symbole. Bisher war der Text in den Spalten davor immer vertikal zentriert zum Bild. Jetzt ist er aber top-align. Wie kann ich das ändern? Stehe da irgendwie auf dem Schlauch. In den classes für den Text hab ich nur Left-Align angegeben. Die übergeordneten classes sind ohne Format und das Symbol hat nur "compressed"
3. filelog-widget läuft nicht mehr. ich hoffe da findet sich noch jemand, der sich des Themas annimmt. Hab damit ein Fehlermeldungs-Log laufen gehabt den man sich über Wand-Tablet angucken konnte
@leeloo
probier mal "compressed"
Gruß
Eisix
Zitat von: setstate am 30 Oktober 2017, 10:23:11
Die Frage zum Popup verstehe ich nicht so recht.
Man kann aber auch Popup per FHEM Device öffnen und schließen
<div data-type="popup" data-device="ftuitest" data-get-on="on" data-get-off="(off|aus)" ...
Hallo state,
das benötige ich für meine Hue Lampen, die haben ja das reading reachable, jetzt möchte ich gerne wenn die Lampen nicht reachable sind, das sämtliche Einstellmöglichkeiten ausgeblendet werden. Mit dem Switch und Slider funktioniert es Super. Würde gerne auch das Popup Icon wegblenden.
Oder gibt es eine andere Möglichkeit es wegzublenden.
Grüsse und Danke
lewej
@Eisix: leider funktioniert "compressed" nicht :(
neben meinen bisherigen zwei Fragen hab ich jetzt noch folgende:
hab Longpoll vorher auf Ajax gehabt. Fully greift über basicAuth auf TabletUI zu.
Jetzt hab ich bei 2.6 Longpoll auf websocket gestellt. Bedeutet das, dass Fully nicht mehr auf die Seite zugreifen kann weil basicAuth nicht mehr unterstützt wird?
Hallo,
erstelle dir doch einfach ein zusätzliches FHEMWEB Device...
defmod WEBTABLET FHEMWEB 8084 global
attr WEBTABLET allowfrom 192.168.x.x|192.168.x.x
attr WEBTABLET csrfToken none
attr WEBTABLET longpoll websocket
und grenze den Zugriff auf bestimmte IPs (Dein Tablet...) im Netzwerk ein.
Dann kannst du hier auf auf basicAuth verzichten.
Grüße
Olli
Funktioniert diese Zugriffs- Einschränkung auch mit MAC-Adressen?
Das wäre zumindest was feines ;)
==> Update 1: ===================================>
Frage hat sich erledigt.
Laut CommandRef geht dies leider nicht.
Somit ist dieser Workaround für mich leider nur eingeschränkt nutzbar.
Dennoch Danke für die Info.
=> Update 2: ========================================>
zu Darstellung von "weather und kleinklima",... (siehe https://forum.fhem.de/index.php/topic,66879.msg706783.html#msg706783 (https://forum.fhem.de/index.php/topic,66879.msg706783.html#msg706783))
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="condition" data-imageset="kleinklima" [b]class="cell mini"[/b]></div>
Die Angabe
mini wird wohl ignoriert und das Icon wird immer mit 100% Größe dargestellt.
Die Änderung in
Zitat<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
schafft Abhilfe.
Leider bekomme ich das Icon nicht mehr in die Mitte geschoben. Hab schon alles ausprobiert. Was jemand noch einen Rat?
Leider keinen Rat, nur die Bemwerkung, das ich das Problem seit update heute Vormittag auch habe. Allerdings funktioniert die Einstellung der Größe bei den meteocons einwandfrei.
VG
Thomas
class="center-align"
poste mal den rest, machst du es mit row, oder positionierst du nur so?
class="center-align"
Hatte ich auch schon probiert, leider ohne erfolgt.
Hier wie gewünscht der Rest:
Es sind 2-Sheets innerhalb eines Swipers.
<li data-row="3" data-col="1" data-sizex="19" data-sizey="11">
<header style="background: rgb(96, 96, 96);" class="white big bold">08m_Sam</header>
<div data-type="swiper"
data-height="600px"
data-width="1261px"
class="noswipe navbuttons nopagination">
<ul>
<li>
<header style="background:#e67e22;" class="big white">Wetter</header>
<div class="container top-space">
<div class="sheet">
<div class="row">
<div class="col-1-4">
<div data-type="label" class="cell top-space narrow bold large bg-green">aktuell</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="OTH_AussenfuehlerHM__EG_Donna" data-get="temperature" data-unit="%B0C%0A" class="cell bigger" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="OTH_AussenfuehlerHM__EG_Donna" data-get="humidity" data-unit="%" class="cell bigger"></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="pressure" data-unit="mbar" class="cell bigger"></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="wind_condition" class="cell large top-narrow"></div>
<div data-type="label" data-device="Wetter" data-get="condition" class="cell top-narrow large bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label" class="cell top-space narrow bold large">heute,</div>
</div>
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc1_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" class="cell left-narrow bold large" data-device="Wetter" data-get="fc1_date"></div>
</div>
</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="fc1_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc1_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc1_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc1_condition" class="cell top-narrow normal bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label" class="cell top-space narrow bold large">morgen,</div>
</div>
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc2_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" class="cell left-narrow bold large" data-device="Wetter" data-get="fc2_date"></div>
</div>
</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="fc2_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc2_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc2_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc2_condition" class="cell top-narrow normal bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label" class="cell top-space narrow bold large">übermorgen,</div>
</div>
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc3_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" class="cell left-narrow bold large" data-device="Wetter" data-get="fc3_date"></div>
</div>
</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="fc3_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc3_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc3_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc3_condition" class="cell top-narrow normal bold"></div>
</div>
</div>
</div>
<div class="container top-space-3x">
<div data-type="label" class="cell small black">.</div>
</div>
<div class="sheet">
<div class="row">
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc4_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" class="cell left-narrow bold large" data-device="Wetter" data-get="fc4_date"></div>
</div>
</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="fc4_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc4_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc4_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc4_condition" class="cell top-narrow normal bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc5_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" class="cell left-narrow bold large" data-device="Wetter" data-get="fc5_date"></div>
</div>
</div>
<div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="fc5_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc5_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc5_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc5_condition" class="cell top-narrow normal bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc6_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" data-device-type="YahooCode" class="cell left-narrow bold large" data-device="Wetter" data-get="fc6_date"></div>
</div>
</div>
<div data-type="weather" data-device="Wetter" data-get="fc6_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc6_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc6_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc6_condition" class="cell top-narrow normal bold"></div>
</div>
<div class="col-1-4">
<div class="container top-space-2x">
<div class="inline narrow">
<div data-type="label"
class="cell right-narrow bold large"
data-device="Wetter"
data-get="fc7_day_of_week"
data-unit="."></div>
</div>
<div class="inline narrow">
<div data-type="label" data-device-type="YahooCode" class="cell left-narrow bold large" data-device="Wetter" data-get="fc7_date"></div>
</div>
</div>
<div data-type="weather" data-device="Wetter" data-get="fc7_condition" data-imageset="kleinklima" class="cell mini" style="width:50%"></div>
<div class="container">
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">min.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc7_low_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" class="cell small right-narrow">max.</div>
</div>
<div class="inline narrow top-narrow-2x">
<div data-type="label" data-device="Wetter" data-get="fc7_high_c" data-unit="%B0C%0A" class="cell bigger left-narrow-2x" data-limits='[-50,0]' data-colors='["#5858FA","white"]'></div>
</div>
</div>
<div data-type="label" data-device="Wetter" data-get="fc7_condition" class="cell top-narrow normal bold"></div>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</li>
bei mir geht dein code mit <div data-type="weather" data-device-type="YahooCode" data-device="Wetter" data-get="condition" data-imageset="kleinklima" class="mini centered" style="width:50%"></div>
Ich hätte wetten können, dass ich diese Variante bereits getestet hatte ???,.... scheinbar nicht,......
:oclass="cell centered"
hatte ich zumindest, aber ohne den gewünschten Effekt.
Aber egal, jetzt sieht es wieder schick aus.
DANKE für Deine Hilfe !!!
Moin zusammen,
ich habe das Problem, dass meine Darstellung fast aller mit "row" und "col" sortierten Inhalte von version 2.6.16 zu 2.6.43 komplett zerschossen wurde. Die Abstände haben sich komplett verändert. Könnt ihr das nachvollziehen?
VG,
Niklas