FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: DocCyber am 12 Januar 2020, 20:11:53

Titel: [GELÖST!] Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 12 Januar 2020, 20:11:53
Hallo zusammen,

nach einem Update wird mein FTUI nun  gar nicht mehr angezeigt.
Toast liefert eine -gefühlt- meterlange Liste von vielen meiner Geräte und Dummys als Fehler aus. (vgl. attachment)
Vor dem Update lief alles perfekt!
Ich habe keine Ahnung, wie ich an das Problem herangehen soll.

Könnte ihr mir weiterhelfen?

list WEB:

Internals:
   CONNECTS   46
   CSRFTOKEN  csrf_39454854209600
   DEF        8083 global
   FD         5
   FUUID      5e18c03e-f33f-8be1-76fe-db2a94987229f517
   NAME       WEB
   NR         7
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2020-01-12 17:54:42   state           Initialized
Attributes:
   JavaScripts codemirror/fhem_codemirror.js
   codemirrorParam { "indentWithTabs":false, "indentUnit":2, "autocomplete":false, "height":"auto" }
   confirmDelete 1
   longpoll   websocket


list tabletUI

Internals:
   DEF        ftui/ ./www/tablet Tablet
   FUUID      5e18c03f-f33f-8be1-794a-edb000de4e5a5aa0
   NAME       tabletUI
   NR         65
   STATE      tabletUI
   TYPE       FTUISRV
   fhem:
     directory  ./www/tablet
     friendlyname Tablet
     infix      ftui/
Attributes:
   directoryindex index.ftui.html
   room       00_SYSTEM


meine index.ftui.html

<html>

<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="web_device" content="WEB">
<meta name="longpoll" content="1">
<meta name="longpoll_type" content="websocket">
<meta name="longpoll_maxage" content="240">
<meta name="shortpoll_interval" content="900">
<meta name="shortpoll_only_interval" content="30">
<meta name="fhemweb_url" content="/fhem/">
<meta name="debug" content="1"> <!-- verbose level 1-6 = output to console;0 = not output -->
<meta name="toast" content="5"> <!-- To disable Toast messages set this value to 0 -->

<link rel="stylesheet" href="lib/jquery.toast.min.css" />
<link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/material-icons.min.css" />
<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
<link rel="stylesheet" href="css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="myCSS/my_ftui.css"/> <!-- eigene CSS -->

<script src="../pgm2/jquery.min.js"></script>
<script src="lib/jquery.toast.min.js"></script>
<script src="js/fhem-tablet-ui.js" defer></script>
</head>

<body>

<!-- Flexbox -->
<div class="fcontainer">

<!-- feststehende Kopfzeile (optional) -->
<div class="fstatic headline darkgray">
<div class="horizbox">
<div class="horizbox top-left ">
<?ftui-inc="_pagebutton.ftui.part" id="main_menu" icon="fa-bars" klasse="large default hidebutton" ?>
<?ftui-inc="_countdown.ftui.part" ?>
<?ftui-inc="_alarmbell.ftui.part" ?> 
</div>
</div>
</div> 
<!-- Ende feststehende Kopfzeile -->

<!-- Popups (werden durch eine Steuerungsvariable ein- und ausgeblendet) -------------- -->
<?ftui-inc="_popup_keypad.ftui.part" ?>  <!-- virtuelles Tastenfeld -->
<?ftui-inc="_popup_message.ftui.part" ?> <!-- messagebox -->
<?ftui-inc="_popup_alarm.ftui.part" ?>          <!-- Headline 'Alarm'>
<?ftui-inc="_popup_authorisation.ftui.part" ?>  <!-- Headline 'Authorisierung' -->
<?ftui-inc="_popup_pinchange.ftui.part" ?>      <!-- Headline 'Änderung' -->
<?ftui-inc="_popup_heatProg.ftui.part" ?>        <!-- Heizprogramm einstellen -->
<?ftui-inc="_popup_heatBasicSettings.ftui.part" ?> <!-- Basisdaten Heizung einstellen -->

<!-- ----- ----------------------------------------------- ----- -->
<!-- ----- Scrollbarer Bereich mit variablen Inhalten      ----- -->
<!-- ----- durch austauschbare Unterseiten.                ----- -->

<!-- ----- Austauschbare Unterseiten 'registrieren':  ----- -->
<div class="subpage fcontainer" id="main_menu"></div>
<div class="subpage fcontainer" id="miscalls"></div>
<div class="subpage fcontainer" id="miscallshome"></div>
<div class="subpage fcontainer" id="miscallsoffice"></div>
<div class="subpage fcontainer" id="heating"></div>
<div class="subpage fcontainer" id="heating_chart_DG_Bad"></div>
<div class="subpage fcontainer" id="heating_chart_DG_Wohnen"></div>
<div class="subpage fcontainer" id="heating_chart_OG_Bad"></div>
<div class="subpage fcontainer" id="heating_chart_OG_Kind"></div>
<div class="subpage fcontainer" id="heating_chart_OG_Office"></div>
<div class="subpage fcontainer" id="heating_chart_OG_Schlafen"></div>
<div class="subpage fcontainer" id="heating_chart_EG_Wohnen"></div>
<div class="subpage fcontainer" id="heating_chart_EG_WC"></div>
<div class="subpage fcontainer" id="heating_chart_KG_Gast"></div>
<div class="subpage fcontainer" id="heating_chart_KG_Office"></div>
<div class="subpage fcontainer" id="security"></div>
<div class="subpage fcontainer" id="alarmsystem"></div>
<div class="subpage fcontainer" id="holidays"></div>
<div class="subpage fcontainer" id="doors"></div>
<div class="subpage fcontainer" id="md1"></div>
<div class="subpage fcontainer" id="cam_door"></div>
<div class="subpage fcontainer" id="cam_indoor1"></div>
<div class="subpage fcontainer" id="cam_outdoor1"></div>
<div class="subpage fcontainer" id="cams"></div>
<div class="subpage fcontainer" id="garage"></div>
<div class="subpage fcontainer" id="rollos"></div>
<div class="subpage fcontainer" id="watering"></div>
<div class="subpage fcontainer" id="avr"></div>
<div class="subpage fcontainer" id="system"></div>
<div class="subpage fcontainer" id="batteries"></div>
<div class="subpage fcontainer" id="raspberry"></div>
<div class="subpage fcontainer" id="settings"></div>
<div class="subpage fcontainer" id="alarmgroups"></div>
<div class="subpage fcontainer" id="avrdefaults"></div>
<div class="subpage fcontainer" id="lights"></div>
<div class="subpage fcontainer" id="test"></div>

<!-- ----- Ende des 'Registrierungsbereiches'              ----- -->
<!-- ----- Ende des scrollbaren Bereiches                  ----- -->

<!-- Feststehende Seitenfußzeile (optional)  -->
<div class="fstatic headline darkgray">
<div class="horizbox">

<!-- Symbol für den Status der Alarmanlage anzeigen -->
<?ftui-inc="_alarm_status.ftui.part" ?>   

<!-- ==========================================================
Die folgenden Elemente werden nur im Bedarfsfall angezeigt
========================================================== -->

<!-- Symbol für den Status der Alarmanlage anzeigen -->
<?ftui-inc="_miscall.ftui.part" ?>   

<!-- Ein oder mehrere Symbole werden angezeigt, wenn innerhalb
der nächsten 7 Tage Müll (z. B. graue Tonne, gelbe Tnne, blaue Tonne, etc. abgeholt wird. -->
<?ftui-inc="_rubbish.ftui.part" idx="1" ?> 
<?ftui-inc="_rubbish.ftui.part" idx="2" ?>
<?ftui-inc="_rubbish.ftui.part" idx="3" ?>
<?ftui-inc="_rubbish.ftui.part" idx="4" ?>
<?ftui-inc="_rubbish.ftui.part" idx="5" ?>
<?ftui-inc="_rubbish.ftui.part" idx="6" ?>

<!-- Symbol "Batterie schwach" wird angezeigt, wenn irgend eine Batterie schwach ist -->
<?ftui-inc="_battery_low.ftui.part" ?>

<!-- Symbol "Fenster offen" wird angezeigt, wenn irgend ein Fenster offen ist -->
<?ftui-inc="_window_open.ftui.part" ?>

<!-- Symbol "Overload" wird angezeigt, wenn HM-CFG-LAN Status high-load oder overload ist -->
<?ftui-inc="_radioload.ftui.part" ?>

</div>
<!-- </div> -->

</div> <!-- Ende feststehende Seitenfußzeile -->

</div> <!-- Ende Flexbox -->

</body>

</html>

Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: amenomade am 12 Januar 2020, 20:23:36
Hast Du nach dem Update ein reload im Browser gemacht (oder Browser schliessen, wieder öffnen)?
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: Waldmensch am 12 Januar 2020, 20:23:53
Jsonlist2 hatte schon immer Probleme ein konformes JSON zu liefern. Eventuell hast Du in irgend einem Device Namen ein Sonderzeichen oder ein Reading hat ein Grad Symbol o.ä.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 12 Januar 2020, 22:31:35
Zitat von: amenomade am 12 Januar 2020, 20:23:36
Hast Du nach dem Update ein reload im Browser gemacht (oder Browser schliessen, wieder öffnen)?
Ja, mehrfach.
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 12 Januar 2020, 22:33:34
Zitat von: Waldmensch am 12 Januar 2020, 20:23:53
Jsonlist2 hatte schon immer Probleme ein konformes JSON zu liefern. Eventuell hast Du in irgend einem Device Namen ein Sonderzeichen oder ein Reading hat ein Grad Symbol o.ä.

Möglich...
Aber wenn, dann waren die vor dem Update auch schon drin, und es lief trotzdem problemlos.
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: Waldmensch am 12 Januar 2020, 23:31:57
Dann pack doch mal den Auswurf der Jsonlist2 in jsonlint (online validator)


Gesendet von iPhone mit Tapatalk
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: OdfFhem am 13 Januar 2020, 07:06:08
@DocCyber

Aus meiner Sicht deutet die oberste Fehlermeldung in Deinem Screenshot die Ursache an.

Diese besagt indirekt, dass Du nicht den localStorage benutzen kannst; dort werden aber wohl alle oder zumindest die meisten Informationen gespeichert.

Erklärt dann auch, warum Zeichen 1 in Zeile 1 einem unerwarteten Zeichen entspricht.


Vermutlich hast Du bewusst oder unbewusst ein kontraproduktives Browser-Feature aktiviert ...


Hast Du noch einen alternativen Browser zum Testen?
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 13 Januar 2020, 07:59:37
Zitat von: Waldmensch am 12 Januar 2020, 23:31:57
Dann pack doch mal den Auswurf der Jsonlist2 in jsonlint

Dazu müsste ich den gesamten String irgendwo abgreifen können.
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: Waldmensch am 13 Januar 2020, 08:02:21
Kannst Du, zum Beispiel in Chrome in den Developer Tools (F12) unter dem Reiter ,,Network". Dort siehst Du Request und Response jedes einzelnen calls.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 13 Januar 2020, 10:20:26
Danke,  das probiere ich aus
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 14 Januar 2020, 14:54:54
Ich habe mal versucht, durch Debugging dem Problem auf die Spur zu kommen.
Dies ist der Output der Konsole bei Start meiner FTUI-Applikation:

Base dir: ./ fhem-tablet-ui.js:2548:9
Filename: fhem-tablet-ui.js:2113:15
FHEM dir: http://192.168.178.69:8083//fhem// fhem-tablet-ui.js:2113:15
dynamic load file:./lib/jquery.toast.min.js / async:false fhem-tablet-ui.js:2113:15
dynamidynamic load done:./lib/jquery.toast.min.js fhem-tablet-ui.js:2113:15
Got csrf from FHEM:csrf_871679964358693 fhem-tablet-ui.js:2113:15
initPage - area=html fhem-tablet-ui.js:2113:15
init templates - Done fhem-tablet-ui.js:2113:15
initWidgets before- area=html fhem-tablet-ui.js:2113:15
<empty string> fhem-tablet-ui.js:2113:15
initWidgets after removed- area=html fhem-tablet-ui.js:2113:15
<empty string> fhem-tablet-ui.js:2113:15
Load plugin "pagebutton" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "pagebutton" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_pagebutton.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "classchanger" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "classchanger" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_classchanger.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "label" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "label" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_label.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "popup" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "popup" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_popup.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "link" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "link" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_link.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "select" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "select" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_select.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "checkbox" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "checkbox" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_checkbox.js / async:true fhem-tablet-ui.js:2113:15
Load plugin "symbol" for area "html" fhem-tablet-ui.js:2113:15
Start load plugin "symbol" for area "html" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_symbol.js / async:true fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_pagebutton.js fhem-tablet-ui.js:2113:15
Start load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_famultibutton.js / async:true fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_select.js fhem-tablet-ui.js:2113:15
function depends_select not found (maybe ok) fhem-tablet-ui.js:2113:15
Try to init plugin: select fhem-tablet-ui.js:2113:15
init widget: name=select area=html fhem-tablet-ui.js:2113:15
Finished load plugin "select" for area "html" fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_classchanger.js fhem-tablet-ui.js:2113:15
Try to init plugin: classchanger fhem-tablet-ui.js:2113:15
Finished load plugin "classchanger" for area "html" fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_symbol.js fhem-tablet-ui.js:2113:15
Start load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_famultibutton.js / async:true fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./js/widget_famultibutton.js fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_popup.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/jquery-ui.min.js / async:false fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_label.js fhem-tablet-ui.js:2113:15
function depends_label not found (maybe ok) fhem-tablet-ui.js:2113:15
Try to init plugin: label fhem-tablet-ui.js:2113:15
init widget: name=label area=html fhem-tablet-ui.js:2113:15
Finished load plugin "label" for area "html" fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_link.js fhem-tablet-ui.js:2113:15
function depends_link not found (maybe ok) fhem-tablet-ui.js:2113:15
Try to init plugin: link fhem-tablet-ui.js:2113:15
init widget: name=link area=html fhem-tablet-ui.js:2113:15
Finished load plugin "link" for area "html" fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_checkbox.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/switchery.min.css / async:false fhem-tablet-ui.js:2113:15
dynamic load file:./lib/switchery.min.js / async:false fhem-tablet-ui.js:2113:15

(*1) Start load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15

dynamic load file:./js/widget_famultibutton.js / async:true fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./js/widget_famultibutton.js fhem-tablet-ui.js:2113:15
dynamidynamic load done:./js/widget_famultibutton.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/fa-multi-button.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load file:./lib/jquery-ui.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./lib/jquery-ui.min.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/fa-multi-button.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./lib/fa-multi-button.min.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/jquery-ui.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./lib/jquery-ui.min.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/fa-multi-button.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./lib/fa-multi-button.min.js fhem-tablet-ui.js:2113:15
dynamic load file:./lib/jquery-ui.min.js / async:false fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./lib/jquery-ui.min.js fhem-tablet-ui.js:2113:15
dynamidynamic load done:./lib/jquery-ui.min.js fhem-tablet-ui.js:2113:15
Try to init plugin: popup fhem-tablet-ui.js:2113:15
Finished load plugin "popup" for area "html" fhem-tablet-ui.js:2113:15
dynamidynamic load done:./lib/switchery.min.js fhem-tablet-ui.js:2113:15
dynamidynamic load done:./lib/fa-multi-button.min.js fhem-tablet-ui.js:2113:15
Finished load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15
Try to init plugin: pagebutton fhem-tablet-ui.js:2113:15
init widget: name=pagebutton area=html fhem-tablet-ui.js:2113:15
Finished load plugin "pagebutton" for area "html" fhem-tablet-ui.js:2113:15
Finished load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15
Try to init plugin: symbol fhem-tablet-ui.js:2113:15
Finished load plugin "symbol" for area "html" fhem-tablet-ui.js:2113:15
Finished load plugin "famultibutton" for area "undefined" fhem-tablet-ui.js:2113:15
Try to init plugin: checkbox fhem-tablet-ui.js:2113:15
Finished load plugin "checkbox" for area "html" fhem-tablet-ui.js:2113:15
initWidgets - Done fhem-tablet-ui.js:2113:15
restartLongpoll fhem-tablet-ui.js:2113:15
stopLongpoll fhem-tablet-ui.js:2113:15
shortpoll: start in (ms):500 fhem-tablet-ui.js:2113:15
pagebutton: elem is not valid. elem=undefined fhem-tablet-ui.js:2113:15
pagebutton: start to load main_menu.ftui.html content into $("#main_menu") fhem-tablet-ui.js:2113:15
initPage-html: 884ms - Timer beendet fhem-tablet-ui.js:872:17
initPage (html): in 884ms fhem-tablet-ui.js:2113:15
startLongpoll: true fhem-tablet-ui.js:2113:15
websockets URL=ws://192.168.178.69:8083//fhem//?XHR=1&inform=type=status;filter=hk_dlg,alarmlevel,missedCall,rubDummy1,rubDummy2,rubDummy3,rubDummy4,rubDummy5,rubDummy6,batteryProblem,windowProblem,HM_CFG_LAN,popup_keypad_visible,popup_message_visible,popup_keypad_activity,popup_heatprog_visible,popup_heatBasicSettings_visible,alarmdelay_remaining,popup_message,alarm_timer,alarmbell,hk_settings, STATE coolerMorning coolerAfternoon rubType loadLvl headline measuredTemp timeSpanMorning progTempMorning timeSpanAfternoon progTempAfternoon timeSpanNight progTempNight rubDays rubWeekday prog progList offsetRoom setList tStandard tAbwesend tUrlaub tFrostschutz offsetNight offsetBath;since=1579001712395;fmt=JSON&timestamp=1579001712400 fhem-tablet-ui.js:2113:15
pagebutton: new content from $("#main_menu") loaded fhem-tablet-ui.js:2113:15
initPage - area=#main_menu fhem-tablet-ui.js:2113:15
init templates - Done fhem-tablet-ui.js:2113:15
initWidgets before- area=#main_menu fhem-tablet-ui.js:2113:15
html:select  html:classchanger  html:label  html:link  html:popup  html:pagebutton  html:symbol  html:checkbox fhem-tablet-ui.js:2113:15
initWidgets after removed- area=#main_menu fhem-tablet-ui.js:2113:15
html:select  html:classchanger  html:label  html:link  html:popup  html:pagebutton  html:symbol  html:checkbox fhem-tablet-ui.js:2113:15
Load plugin "pagebutton" for area "#main_menu" fhem-tablet-ui.js:2113:15
Start load plugin "pagebutton" for area "#main_menu" fhem-tablet-ui.js:2113:15
dynamic load file:./js/widget_pagebutton.js / async:true fhem-tablet-ui.js:2113:15
dynamic load not neccesary for:./js/widget_pagebutton.js fhem-tablet-ui.js:2113:15
Try to init plugin: pagebutton fhem-tablet-ui.js:2113:15
init widget: name=pagebutton area=#main_menu fhem-tablet-ui.js:2113:15
Finished load plugin "pagebutton" for area "#main_menu" fhem-tablet-ui.js:2113:15
initWidgets - Done fhem-tablet-ui.js:2113:15
restartLongpoll fhem-tablet-ui.js:2113:15
stopLongpoll fhem-tablet-ui.js:2113:15
stopped websocket fhem-tablet-ui.js:2113:15
shortpoll: start in (ms):500 fhem-tablet-ui.js:2113:15

(*2) pagebutton: elem is not valid. elem=undefined fhem-tablet-ui.js:2113:15

pagebutton: page is already loaded. page=#main_menu fhem-tablet-ui.js:2113:15
pagebutton: show page. id=main_menu fhem-tablet-ui.js:2113:15
initPage-#main_menu: 42ms - Timer beendet fhem-tablet-ui.js:872:17
initPage (#main_menu): in 41ms fhem-tablet-ui.js:2113:15
pagebutton: show page. id=main_menu fhem-tablet-ui.js:2113:15
startLongpoll: true fhem-tablet-ui.js:2113:15
websockets URL=ws://192.168.178.69:8083//fhem//?XHR=1&inform=type=status;filter=hk_dlg,alarmlevel,missedCall,rubDummy1,rubDummy2,rubDummy3,rubDummy4,rubDummy5,rubDummy6,batteryProblem,windowProblem,HM_CFG_LAN,popup_keypad_visible,popup_message_visible,popup_keypad_activity,popup_heatprog_visible,popup_heatBasicSettings_visible,alarmdelay_remaining,popup_message,alarm_timer,alarmbell,hk_settings, STATE coolerMorning coolerAfternoon rubType loadLvl headline measuredTemp timeSpanMorning progTempMorning timeSpanAfternoon progTempAfternoon timeSpanNight progTempNight rubDays rubWeekday prog progList offsetRoom setList tStandard tAbwesend tUrlaub tFrostschutz offsetNight offsetBath;since=1579001712491;fmt=JSON&timestamp=1579001712498 fhem-tablet-ui.js:2113:15
closed websocket after connecting fhem-tablet-ui.js:2113:15
<empty string> 2 fhem-tablet-ui.js:2113:15
start shortpoll fhem-tablet-ui.js:2113:15

(*3) send to FHEM: jsonlist2

hk_dlg,alarmlevel,missedCall,rubDummy1,rubDummy2,rubDummy3,rubDummy4,rubDummy5,rubDummy6,batteryProblem,windowProblem,HM_CFG_LAN,popup_keypad_visible,popup_message_visible,popup_keypad_activity,popup_heatprog_visible,popup_heatBasicSettings_visible,alarmdelay_remaining,popup_message,alarm_timer,alarmbell,hk_settings STATE coolerMorning coolerAfternoon rubType loadLvl headline measuredTemp timeSpanMorning progTempMorning timeSpanAfternoon progTempAfternoon timeSpanNight progTempNight rubDays rubWeekday prog progList offsetRoom setList tStandard tAbwesend tUrlaub tFrostschutz offsetNight offsetBath fhem-tablet-ui.js:2113:15
shortpoll: start in (ms):900000 fhem-tablet-ui.js:2113:15

(*4) shortPoll: request failed: parsererror, SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data fhem-tablet-ui.js:2113:15

["HM_CFG_LAN","opened","<div id=\u0022HM_CFG_LAN\u0022  title=\u0022opened\u0022 class=\u0022col2\u0022>opened</div>"] fhem-tablet-ui.js:2113:15
...
...
...


Das ist mir aufgefallen (oben entsprechend markiert):
(*1) area "undefined"
(*2) elem is not valid
(*3)  jsonlist2; s. unten
(*4) Was ist falsch an dem JSON-String? unexpected character at line 1 column 1
Den String hk_dlg,alarmlevel,missedCall, ... tFrostschutz offsetNight offsetBath habe ich bei https://jsonlint.com/ eingegeben. Ergebnis: Parse error on line 1.

Verstehe nicht, wo die Ursache für das Problem liegen kann.
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: Waldmensch am 14 Januar 2020, 16:06:59
Du darfst nicht den Request in jsonlint eingeben sondern die Response, also was FHEM liefert. Das ist der Tab daneben in den DEV Tools


Gesendet von iPhone mit Tapatalk
Titel: Antw:Meterlange Fehlerliste JSON parse
Beitrag von: DocCyber am 15 Januar 2020, 10:54:07
Zitat von: Waldmensch am 13 Januar 2020, 08:02:21
Kannst Du, zum Beispiel in Chrome in den Developer Tools (F12) unter dem Reiter ,,Network". Dort siehst Du Request und Response jedes einzelnen calls.

Hallo Waldmensch,
Aufgrund deines Tipps (danke!) habe ich mir für diesen Zweck Chrome installiert. Hier hänge ich einen Screenshot Chrome-Tools/Network an.
Wo sehe ich Request / Response genau bzw was muss ich in jsonlint eingeben?

Möglicherweise weist die rot markierte Zeile auf das Problem hin - dort steht am Ende pending, die Anfrage wird also nicht beantwortet?
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: setstate am 15 Januar 2020, 12:43:58
Eine Zeile darunter : jsonlist2

In die Zeile klicken. Dann öffnet sich rechts ein Detail Fenster. In diesem gibt es einen Reiter "Response"
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 15 Januar 2020, 13:09:56
Ah, okay. Danke!

Aber:  Failed to load response data     :-\

Was sollte / kann ich weiterhin unternehmen, um der Ursache des Problem auf die Spur zu kommen?
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: setstate am 15 Januar 2020, 15:54:54
Ich würde mal die ganze Request URL kopieren und in einen neuen Browsertab einfügen + wegsenden.

Und auch einmal den Query String Parameters cmd kopieren und in  FHEMWEB in die Kommandozeile einfügen + wegschicken. Also "jsonlist2 hk_... .... rubWeekDay"

Irgendetwas stört. Vielleicht das "türlaub"
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 15 Januar 2020, 17:47:06
Zitat von: setstate am 15 Januar 2020, 15:54:54
Ich würde mal die ganze Request URL kopieren und in einen neuen Browsertab einfügen + wegsenden.
Dadurch wird nur die Web-UI von FHEM aufgerufen. Die gesamte Parameterliste ab //?cmd=jsonlist2... wird offenbar ignoriert. (sowohl in Chrome wie in Firefox)

Zitat von: setstate am 15 Januar 2020, 15:54:54
Und auch einmal den Query String Parameters cmd kopieren und in  FHEMWEB in die Kommandozeile einfügen + wegschicken. Also "jsonlist2 hk_... .... rubWeekDay"
Vielleicht das "türlaub"
ergibt unknown command (s.screenshots vom Anfang und Ende des Strings)
Es ist mir aufgefallen, dass FHEM automatisch ein Komma ans Ende des Strings gesetzt hat.

(türlaub heißt tUrlaub . Es ist kein Umlaut drin)



Nachtrag:
Ich habe zu Testzwecken eine sehr einfache Website erstellt, die nur einen Testschalter (Dummy!) anzeigt.
Das funktioniert zwar, aber der Fehler (Failed to load response data) tritt hierbei ebenfalls auf
http://192.168.xxx.xx:8083/fhem/?cmd=jsonlist2+testschalter+STATE&fwcsrf=csrf_871679964358693&XHR=1&_=1579107811586
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: setstate am 15 Januar 2020, 18:05:03
zum 1. Versuch (URL)

da dürfen keine // drin sein, außer beim http://

so zum Beispiel muss das aussehen

http://fhem.local:8083/fhem/?cmd=jsonlist2%20ftuitest%2Cdummy1%2Cfamily%2CKellerClimateSensor%2Cdummy2%20STATE%20state%20hide%20residentsTotalPresent%20error%20sack%20minutes%20temperature%20regex&fwcsrf=&XHR=1&_=1579107654255

zum 2. Versuch (Fhem cmd)

Das cmd für die FHEM Zeile darf keine + oder % dazwischen haben. Hast du das Richtige kopiert?

Bei Query String Parameters
cmd:
???

Das muss etwa so aussehen:

jsonlist2 ftuitest,dummy1,family,KellerClimateSensor,dummy2 STATE state hide residentsTotalPresent error sack minutes temperature regex

jsonlist2
dann alle Devices kommasepariert
dann alls Readings spacesepariert

Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 15 Januar 2020, 18:27:29
Zitat von: setstate am 15 Januar 2020, 18:05:03
jsonlist2
dann alle Devices kommasepariert
dann alls Readings spacesepariert

Das hatte ich falsch gemacht. Aber jetzt habe ich eine Ausgabe von FHEM.

{
  "Arg":"hk_dlg,alarmlevel,missedCall,rubDummy1,rubDummy2,rubDummy3,rubDummy4,rubDummy5,rubDummy6,batteryProblem,windowProblem,HM_CFG_LAN,popup_keypad_visible,popup_message_visible,popup_keypad_activity,popup_heatprog_visible,popup_heatBasicSettings_visible,hk_settings,alarm_timer,alarmbell,alarmdelay_remaining,popup_message STATE coolerMorning coolerAfternoon rubType loadLvl prog progList offsetRoom setList tStandard tAbwesend tUrlaub tFrostschutz offsetNight offsetBath headline measuredTemp timeSpanMorning progTempMorning timeSpanAfternoon progTempAfternoon timeSpanNight progTempNight rubDays rubWeekday",
  "Results": [
  {
    "Name":"hk_dlg",
    "Internals": {      "STATE": "initialized" },
    "Readings": {
      "coolerAfternoon": { "Value":"0", "Time":"2020-01-08 15:28:03" },
      "coolerMorning": { "Value":"0", "Time":"2020-01-08 15:28:03" },
      "headline": { "Value":"OG Kind", "Time":"2020-01-08 15:28:03" },
      "measuredTemp": { "Value":"19.2", "Time":"2020-01-08 15:28:03" },
      "offsetRoom": { "Value":"0.0", "Time":"2020-01-08 15:28:03" },
      "prog": { "Value":"Abwesend", "Time":"2020-01-08 15:28:03" },
      "progList": { "Value":"Standard,Abwesend,Urlaub,Frostschutz", "Time":"2020-01-08 15:28:03" },
      "progTempAfternoon": { "Value":"18.0", "Time":"2020-01-08 15:28:03" },
      "progTempMorning": { "Value":"18.0", "Time":"2020-01-08 15:28:03" },
      "progTempNight": { "Value":"18.0", "Time":"2020-01-08 15:28:03" },
      "timeSpanAfternoon": { "Value":"12:00 - 21:00", "Time":"2020-01-08 15:28:03" },
      "timeSpanMorning": { "Value":"04:00 - 12:00", "Time":"2020-01-08 15:28:03" },
      "timeSpanNight": { "Value":"21:00 - 04:00", "Time":"2020-01-08 15:28:03" }
    },
    "Attributes": { }
  },
  {
    "Name":"alarmlevel",
    "Internals": {      "STATE": "0" },
    "Readings": { },
    "Attributes": {      "setList": "0 1 2 3" }
  },
  {
    "Name":"missedCall",
    "Internals": {      "STATE": "1" },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"rubDummy1",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"4", "Time":"2020-01-09 19:53:52" },
      "rubType": { "Value":"Wertstoff", "Time":"2020-01-09 19:53:52" },
      "rubWeekday": { "Value":"Mo", "Time":"2020-01-09 19:53:52" }
    },
    "Attributes": { }
  },
  {
    "Name":"rubDummy2",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"4", "Time":"2020-01-09 19:53:52" },
      "rubType": { "Value":"Rest", "Time":"2020-01-09 19:53:52" },
      "rubWeekday": { "Value":"Mo", "Time":"2020-01-09 19:53:52" }
    },
    "Attributes": { }
  },
  {
    "Name":"rubDummy3",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"8", "Time":"2020-01-09 19:53:52" },
      "rubType": { "Value":"Papier", "Time":"2020-01-09 19:53:52" },
      "rubWeekday": { "Value":"Fr", "Time":"2020-01-09 19:53:52" }
    },
    "Attributes": { }
  },
  {
    "Name":"rubDummy4",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"41", "Time":"2020-01-09 19:53:52" },
      "rubType": { "Value":"Glas", "Time":"2020-01-09 19:53:52" },
      "rubWeekday": { "Value":"Mi", "Time":"2020-01-09 19:53:52" }
    },
    "Attributes": { }
  },
  {
    "Name":"rubDummy5",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"82", "Time":"2020-01-09 19:53:52" },
      "rubType": { "Value":"Gartenschnitt", "Time":"2020-01-09 19:53:52" },
      "rubWeekday": { "Value":"Di", "Time":"2020-01-09 19:53:52" }
    },
    "Attributes": { }
  },
  {
    "Name":"rubDummy6",
    "Internals": {      "STATE": "???" },
    "Readings": {
      "rubDays": { "Value":"38", "Time":"2018-02-16 23:07:11" },
      "rubType": { "Value":"Gartenschnitt", "Time":"2018-02-16 23:07:11" },
      "rubWeekday": { "Value":"Di", "Time":"2018-02-16 23:07:11" }
    },
    "Attributes": { }
  },
  {
    "Name":"batteryProblem",
    "Internals": {      "STATE": "1" },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"windowProblem",
    "Internals": {      "STATE": "0" },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_CFG_LAN",
    "Internals": {      "STATE": "opened" },
    "Readings": {      "loadLvl": { "Value":"low", "Time":"2020-01-15 18:17:10" } },
    "Attributes": { }
  },
  {
    "Name":"popup_keypad_visible",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "on off" }
  },
  {
    "Name":"popup_message_visible",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "on off" }
  },
  {
    "Name":"popup_keypad_activity",
    "Internals": {      "STATE": "inactive" },
    "Readings": { },
    "Attributes": {      "setList": "alarm pinchange auth_request inactive" }
  },
  {
    "Name":"popup_heatprog_visible",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "state:on,off" }
  },
  {
    "Name":"popup_heatBasicSettings_visible",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "state:on,off" }
  },
  {
    "Name":"hk_settings",
    "Internals": {      "STATE": "initialized" },
    "Readings": {
      "offsetBath": { "Value":"1.5", "Time":"2020-01-06 16:50:32" },
      "offsetNight": { "Value":"-1.0", "Time":"2020-01-04 17:56:26" },
      "progList": { "Value":"Standard,Abwesend,Urlaub,Frostschutz", "Time":"2020-01-05 12:01:13" },
      "tAbwesend": { "Value":"18.0", "Time":"2020-01-04 18:15:07" },
      "tFrostschutz": { "Value":"10.0", "Time":"2020-01-04 18:15:11" },
      "tStandard": { "Value":"21.0", "Time":"2020-01-06 12:09:54" },
      "tUrlaub": { "Value":"15.0", "Time":"2020-01-04 18:15:09" }
    },
    "Attributes": { }
  },
  {
    "Name":"alarm_timer",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "on off" }
  },
  {
    "Name":"alarmbell",
    "Internals": {      "STATE": "off" },
    "Readings": { },
    "Attributes": {      "setList": "on off" }
  },
  {
    "Name":"alarmdelay_remaining",
    "Internals": {      "STATE": "15" },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"popup_message",
    "Internals": {      "STATE": "Sicherheitsstufe unverändert" },
    "Readings": { },
    "Attributes": { }
  }  ],
  "totalResultsReturned":22
}


Das Problem ist möglicherweise der Umlaut in diesem Reading:

  "Name":"popup_message",
   "Internals": {      "STATE": "Sicherheitsstufe unverändert" },

Kann das sein?

EDIT: Reading STATE geändert und neu probiert: Website wird nach wie vor nicht geöffnet; Fehler (failed to load response data) besteht weiterhin. Der Umlaut war also nicht das Problem.
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: setstate am 15 Januar 2020, 18:32:30
die Umlaute im Reading Value dürften kein Problem sein. Das JSON ist auch valide. Mmmm?

Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 15 Januar 2020, 18:40:09
Zitat von: setstate am 15 Januar 2020, 18:32:30
die Umlaute im Reading Value dürften kein Problem sein.

Stimmt, das kann ich mittlerweile bestätigen; vgl. mein EDIT zuvor
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 15 Januar 2020, 19:47:27
Zitat von: setstate am 15 Januar 2020, 18:05:03
da dürfen keine // drin sein, außer beim http://
Okay, hab ich jetzt dann wohl auch richtig gemacht: Es kommt derselbe Output, wie bei der vorigen Eingabe in die FHEM Eingabezeile; s. weiter oben.
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 16 Januar 2020, 10:45:45

shortPoll: request failed: parsererror, SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data fhem-tablet-ui.js:2113:15

Die Ursache für diesen Fehler habe ich gefunden!
In meinem <header> stand

<meta name="fhemweb_url" content="/fhem/">

Mittlerweile weiß ich zwar, dass dieses Meta-Tag für Standardinstallationen nicht nötig ist, weil das Script den Pfad selbst setzt. Es sollte aber nicht schaden, wenn es gesetzt ist.
Aber ich hatte mich an die Angabe im Wiki https://wiki.fhem.de/wiki/FHEM_Tablet_UI#META-Parameter (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#META-Parameter) gehalten, und die ist falsch.
Der Slash vorn und hinten darf dort nicht stehen, denn das Script setzt die Slashes ebenfalls.
Damit ist der Pfad durch den erzeugten Doppel-Slash falsch, und das ist die Ursache für den Fehler.

Falls die fhem_url gesetzt wird, muss es so also aussehen:

<meta name="fhemweb_url" content="fhem">


@setstate: Kannst du eine derartige Fehleingabe im Meta-Tag nicht im Code abfangen?


Zumindest wird ein Teil meines FTUIs nun wieder angezeigt.
Aber...
Vorgabe ist ein Hauptmenü, dessen Seite (bei mir main_menu.ftui.html) durch einen Pagebutton per default geladen werden soll. Das funktioniert nicht mehr.
Im Inspektor wird angezeigt, dass die Seite geladen wurde, aber ich sehe sie nicht...
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: setstate am 16 Januar 2020, 11:18:46
Dass der Pfad immer korrekt ist, kann ich einbauen.

Passen die Referenzen der Unterseite mit dem Target in der Main Page zusammen?
Titel: Antw:Meine FTUI-Seite startet nicht mehr
Beitrag von: DocCyber am 16 Januar 2020, 12:23:18
ZitatPassen die Referenzen der Unterseite mit dem Target in der Main Page zusammen?
Ja, an meinem HTML-Quellcode hatte ich nichts geändert (mit Ausnahme der meta-Tags im Zuge des Updates).

Ich habe jetzt festgestellt, dass die Seite zwar "angezeigt" wird, wenn ich meine CSS nicht benutze. Aber natürlich stimmt das gesamte Erscheinungsbild jetzt nicht.
FTUI nutze ich ausschließlich auf meinem Smartphone und deshalb hatte ich ein Flex-Layout mit eigener CSS gebastelt. Vor dem FHEM und FTUI-Update lief alles super. :(

Das Problem dieses Threads ist gelöst. Soll ich jemanden wegen des Wiki-Fehlers informieren?


Bleibt die Frage, wieso meine CSS unter dem Update diese Probleme verursacht...