Evaluierungsversion 2.2

Begonnen von setstate, 17 März 2016, 10:40:13

Vorheriges Thema - Nächstes Thema

kt83

Zitat von: skuggy am 27 April 2016, 19:00:07
Hallo zusammen,

update all funktioniert bei mir nicht, ich erhalte folgende Meldung:

     
2016.04.27 18:56:24 1 : RMDIR: ./restoreDir/2016-02-01
2016.04.27 18:56:25 1 : UPD www/tablet_eval/content_lights.html
2016.04.27 18:56:25 1 : open ./www/tablet_eval/content_lights.html failed: Permission denied, trying to restore the previous version and aborting the update


Mal die Rechte des Verzeichnisses (tablet_eval) bzw. der darin enthaltenen Dateien checken. Hattest Du vorher "händisch" installiert? Der Nutzer, unter dem FHEM läuft, braucht Schreibrechte!

Grüße,
Thomas.

roman1528

Zitat von: setstate am 27 April 2016, 18:49:48
Die initiale ShortPoll Abfrage passiert doch asynchron im Hintergrund. Ich kann da schon etwas schalten währenddessen. Shade oder Spinner muss an dieser Stelle nicht sein, denke ich.

Bis auf Seitenaufrufe kann ich trotzdem nicht bedienen bis nicht der initiale Shortpoll durch ist!

Eventuell kann man das ja optional über einen <meta>Tag machen. Irgendwas wie: shadeOnLoad

Oder du sagst mir an welcher stelle der initiale shortpoll geschieht... dann versuch ich das zu bauen.
wäre ja auch nur für den aller ersten aufruf der seite
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

nightstorm99

Hallo,

wer kümmert sich eigentlich um das Highchart Widget???
Oder hat das jemand schon am laufen unter der 2.2 ???


Danke und Gruß
Denny

FhemPiUser

#333
habe auch gerade mal die neue eval-Version getestet. Gefühlt deutlich schneller beim Laden, danke setstate!

Drei Veränderungen habe ich allerdings im Vergleich mit der alten Version (V2.0, mit den gleichen html-Seiten, habe nur statische durch relative Pfade im header ersetzt):

1) Longpoll geht nicht bzw. es werden keine Readings eventgesteuert aktualisiert. Wenn ich das Fenster öffne, bekomme ich das in FTUI nicht angezeigt. In der alten Version hat das geklappt. longpoll ist im header natürlich gesetzt mit content=1.

2) Ein Label mit class="cell big thin" ist deutlich größer als bisher. Ohne "thin" ist es wieder kleiner.

3) Ich habe folgendes pagebutton widget, bei dem jetzt kein icon mehr angezeigt wird. Bisher ging das...

<div data-type="pagebutton"
            data-device="MuellterminDummy"
data-url="kalender.html"
            data-background-icon=""
data-get="GelberSack"
            data-icons='["fa-recycle warn fa-spin","fa-recycle warn"]'
            data-on-colors='["#aeae00","#aeae00"]'
            data-get-on='["0","2"]'
            class="inline small  " >
            </div>


Wenn ich "pagebutton" durch "symbol" ersetze, wird das icon wieder angezeigt...

setstate

beim Pagebutton wird das data-on-colors andersweitig benutzt. Damit es ähnlich wie pagetab benutzt werden kann und der on und off Status entsprechend passend für den aktiven Button gesetzt wird, wird data-on-colors auch intern gesetzt.
Für Multistates nimm einfach data-colors


data-icons='["fa-recycle warn fa-spin","fa-recycle warn"]'
data-colors='["#aeae00","#aeae00"]'
data-states='["0","2"]'

justme1968

ich habe meine config auch gerade mit 2.2 getestet. bist jetzt funktioniert alles bis auf das colorwheel. hier wird bei jeder änderung immer ffffff gesetzt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

setstate

Zitat von: justme1968 am 27 April 2016, 23:46:25
ich habe meine config auch gerade mit 2.2 getestet. bist jetzt funktioniert alles bis auf das colorwheel. hier wird bei jeder änderung immer ffffff gesetzt.
...

Ich habe es gerade mit der demo_colorwheel.html Seite probiert, da geht alles. Wie sieht deine Definition aus?

justme1968

meine definition schaut so aus:<div data-type="colorwheel" data-device="SWAP_BB" data-get="0B-RGBlevel" data-set="rgb" class="small" ></div>

die demo_colorwheel.html seite von hier: http://knowthelist.github.io/fhem/tablet/demo_colorwheel.html gibt bei mir einen js fehler in zeile 290 von hem-tablet-ui.min.js: JSON Pause error: Unrecognized token'<'.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

FhemPiUser

#338
Zitat von: setstate am 27 April 2016, 23:17:38
beim Pagebutton wird das data-on-colors andersweitig benutzt. Damit es ähnlich wie pagetab benutzt werden kann und der on und off Status entsprechend passend für den aktiven Button gesetzt wird, wird data-on-colors auch intern gesetzt.
Für Multistates nimm einfach data-colors

danke setstate, damit geht es.

aber warum geht bei mir kein longpoll? muss man noch irgendetwas anpassen?

Es kommt eine Meldung "longpoll started", aber es werden keine readings eventgesteuert angepasst...

setstate

Zitat von: FhemPiUser am 28 April 2016, 19:04:10
danke setstate, damit geht es.

aber warum geht bei mir kein longpoll? muss man noch irgendetwas anpassen?

Nimm mal diesen HEAD. Hier ist debuglevel auf 4, da sieht man einiges mehr. Longpoll startet erst, wenn alle Widgets initiiert ist und der erste Shortpoll durch ist. Wenn dabei ein Fehler auftritt, startet longPoll nicht.

<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="4"> <!-- 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" />

    <!-- 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>FTUI Dev</title>
</head>


Entweder du siehst in der Webconsole damit schon etwas, oder du postest den Output hier

FhemPiUser

habe ich, aber es kommt nur "full resfresh done" und dann "longpoll started"...

setstate

Und mit debug=4 müsstest du dann auch die Arrays sehen, die reinkommen


Array [ "hmlan", "opened", "<div id="hmlan"  class="col2">opene..." ] fhem-tablet-ui.js:915:13
Array [ "hmlan-loadLvl", "low", "low" ] fhem-tablet-ui.js:915:13
Array [ "hmlan-loadLvl-ts", "2016-04-28 20:33:39", "2016-04-28 20:33:39" ] fhem-tablet-ui.js:915:13
Array [ "SatReceiver", "on", "<div id="SatReceiver"  class="col2"..." ] fhem-tablet-ui.js:915:13
update done for "SatReceiver:STATE"


Was sagt der HealthCheck? Sektion LongPoll?


--------- start healthCheck --------------
now: Date 2016-04-28T18:33:34.590Z
FTUI version: 2.2.1
Longpoll: true
Longpoll objects there: true
Longpoll curent line: 443
Longpoll last event before: 21 Sekunde(n)
Shortpoll interval: 900
Shortpoll last run before: 8 Minute(n) 49 Sekunde(n)
FHEM dev/par count: 4914
Page length: 84137
Widgets count: 106
--------- end healthCheck ---------------

FhemPiUser

#342
Beim Neuladen der Seite kommen ein paar warnings, undefines und ein Error beim weather-widget:


...
Mit document.write() wurde ein nicht balancierter Baum geschrieben, was dazu geführt hat, dass Daten aus dem Netzwerk neu geparst werden mussten. Für weitere Informationen https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing ftui_eval:768:0
...
Plugin dir: js fhem-tablet-ui.js:915:13
Filename:  fhem-tablet-ui.js:915:13
FHEM dir: /fhem/ fhem-tablet-ui.js:915:13
initPage: Timer gestartet fhem-tablet-ui.js:233
initPage - area= fhem-tablet-ui.js:915:13
start shortpoll in (ms):30000 fhem-tablet-ui.js:915:13
count of templates: fhem-tablet-ui.js:915:13
Object { modules: Array[0], addModule: plugins.addModule(), removeArea: plugins.removeArea(), updateParameters: plugins.updateParameters(), load: plugins.load(), update: plugins.update(), tts: Object } fhem-tablet-ui.js:915:13
Object { modules: Array[0], addModule: plugins.addModule(), removeArea: plugins.removeArea(), updateParameters: plugins.updateParameters(), load: plugins.load(), update: plugins.update(), tts: Object } fhem-tablet-ui.js:915:13
initWidgets - area= fhem-tablet-ui.js:915:13
....
init widget: label fhem-tablet-ui.js:915:13
undefined - value:52, substitution: fhem-tablet-ui.js:915:13
...
dynamic load done:js/widget_weather.js fhem-tablet-ui.js:915:13
function depends_weather not found (maybe ok) fhem-tablet-ui.js:915:13
init widget: weather fhem-tablet-ui.js:915:13
Loaded plugin: weather fhem-tablet-ui.js:915:13
ReferenceError: elem_url is not defined
widget_link.js:188:1
dynamic load done:lib/swiper.jquery.min.js fhem-tablet-ui.js:915:13
init widget: swiper fhem-tablet-ui.js:915:13
Loaded plugin: swiper
....
start shortpoll fhem-tablet-ui.js:915:13
get jsonlist2: Timer gestartet fhem-tablet-ui.js:344
start shortpoll in (ms):30000 fhem-tablet-ui.js:915:13
get jsonlist2: 5267.74ms fhem-tablet-ui.js:350
read jsonlist2: Timer gestartet fhem-tablet-ui.js:351
fhemJSON: 0=Arg 1=Results fhem-tablet-ui.js:915:13
shortpoll: fhemJSON.Results.length=590 fhem-tablet-ui.js:915:13
shortPoll - Done fhem-tablet-ui.js:915:13
read jsonlist2: 124.84ms fhem-tablet-ui.js:418
Longpoll started


Dann kommen regelmäßig arrays rein, aber ich sehe kein "update done for ..." wie in Deinem Post. Es kommt auch kein array für den Fenstersensor, wenn ich das Fenster öffne und das symbol widget des fenstersensors zeigt kein "fenster offen" state...

Beispiel für die arrays:
Array [ "Arduino_Heizung_A2", "694", "<div id="Arduino_Heizung_A2"  class..." ] fhem-tablet-ui.js:915:13
Array [ "Arduino_Heizung_A2-reading", "694", "694" ] fhem-tablet-ui.js:915:13
Array [ "Arduino_Heizung_A2-reading-ts", "2016-04-28 21:21:28", "2016-04-28 21:21:28" ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1", "opened", "<div id="HMLAN1"  class="col2">open..." ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1-loadLvl", "low", "low" ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1-loadLvl-ts", "2016-04-28 21:21:31", "2016-04-28 21:21:31" ]


Healthcheck sagt z.B.:

--------- start healthCheck -------------- fhem-tablet-ui.js:762:9
now: Date 2016-04-28T19:13:18.259Z fhem-tablet-ui.js:763:9
FTUI version: 2.2.1 fhem-tablet-ui.js:764:9
Longpoll: true fhem-tablet-ui.js:765:9
Longpoll objects there: true fhem-tablet-ui.js:766:9
Longpoll curent line: 53 fhem-tablet-ui.js:767:9
Longpoll last event before: 3 Sekunde(n) fhem-tablet-ui.js:768:9
Shortpoll interval: 900 fhem-tablet-ui.js:769:9
Shortpoll last run before: 1 Minute(n) 30 Sekunde(n) fhem-tablet-ui.js:770:9
FHEM dev/par count: 12323 fhem-tablet-ui.js:771:9
Page length: 79891 fhem-tablet-ui.js:772:9
Widgets count: 205 fhem-tablet-ui.js:773:9
--------- end healthCheck ---------------
...
--------- start healthCheck -------------- fhem-tablet-ui.js:762:9
now: Date 2016-04-28T19:19:18.251Z fhem-tablet-ui.js:763:9
FTUI version: 2.2.1 fhem-tablet-ui.js:764:9
Longpoll: true fhem-tablet-ui.js:765:9
Longpoll objects there: true fhem-tablet-ui.js:766:9
Longpoll curent line: 881 fhem-tablet-ui.js:767:9
Longpoll last event before: 2 Sekunde(n) fhem-tablet-ui.js:768:9
Shortpoll interval: 900 fhem-tablet-ui.js:769:9
Shortpoll last run before: 7 Minute(n) 30 Sekunde(n) fhem-tablet-ui.js:770:9
FHEM dev/par count: 12323 fhem-tablet-ui.js:771:9
Page length: 79689 fhem-tablet-ui.js:772:9
Widgets count: 205 fhem-tablet-ui.js:773:9
--------- end healthCheck ---------------



Eine Frage: gibt es das prefetching und die class="nocache" nur beim widget pagebutton oder auch beim widget link? Ich habe einige link widgets auf meiner Seite und es kann sein, dass einer der Links nicht funktioniert. Nicht, dass er da ein prefetching macht und hängt...

UPDATE
Ich habe mal parallel zur 2.2er Version die alte FTUI-Version (v2.0) in einem weiteren Tab laufen lassen und sehe, dass die Readings offenbar garnicht aktualisiert werden in der 2.2er-Version (außer beim Neuladen der Seite). Wenn sich z.B. der Gasverbrauch erhöht sehe ich das in der 2.0er Version, aber nicht in der 2.2er Version...

setstate

Die sichtbaren undefined und der Fehler im Link-Widget sind vermutlich nicht die Ursache.
Ich vermute eher ein JSON.parse Error. Das könnten verbotene Dinge in den Strings drin sein.

Ich habe mal schnell ein try catch eingebaut, damit könnte man sehen, ob dort ein Fehler passiert

Vorsichtshalber habe ich noch ein debug-output für level 5 vorm Json Parse eingebaut

lass bitte nochmal laufen ...

FhemPiUser

Zitat von: setstate am 28 April 2016, 23:13:01
Die sichtbaren undefined und der Fehler im Link-Widget sind vermutlich nicht die Ursache.
Ich vermute eher ein JSON.parse Error. Das könnten verbotene Dinge in den Strings drin sein.

Ich habe mal schnell ein try catch eingebaut, damit könnte man sehen, ob dort ein Fehler passiert

Vorsichtshalber habe ich noch ein debug-output für level 5 vorm Json Parse eingebaut

lass bitte nochmal laufen ...

interessant, nach upate und shutdown restart geht es, aber dann geht das longpoll für die produktive 2.0er version nicht mehr. es scheint am webviewcontrol script im header zu liegen, zumindest wenn es gleichzeitig in beiden versionen (produktiv und eval) läuft...