So, I have 2 dummy switches:
define socket2_switch dummy
attr socket2_switch room LivingRoom
attr socket2_switch setList on off
define socket3_switch dummy
attr socket3_switch room Basement
attr socket3_switch setList on off
I am using strange IT steckdose clone.
To turn off I need to send ANY command to socket2_off and socket3_off:
define setoff2 notify socket2_switch:off set socket2_off on
define setoff3 notify socket3_switch:off set socket3_off on
socket2_off / socket3_off
define socket2_off IT 1FF00FFFFF FF F0
attr socket2_off IODev cul1
define socket3_off IT 1F0F0FFFFF FF F0
attr socket3_off IODev cul1
In my FTUI html I have this:
<li data-row="3" data-col="4" data-sizey="2" data-sizex="1">
<header>Bed Room</header>
<div class="sheet">
<div class="row">
<div class="cell">
<div data-type="switch" data-device="socket1_switch" class="invert"></div>
<div>Fan</div>
</div>
</div>
</li>
<li data-row="5 " data-col="5" data-sizey="2" data-sizex="1">
<header>Basement</header>
<div class="sheet">
<div class="row">
<div class="cell">
<div data-type="switch" data-device="socket3_switch" class="invert"></div>
<div>RecircPump</div>
</div>
</div>
</li>
The 2 buttons are coded exactly the same.
Now here is the magic problem.
If I send to fhem
set socket2_switch off ; set socket3_switch off
fhem web shows immediate state change of both switches.
But FTUI only shows widget state change of socket2_switch to off, socket3_switch widget remains on.
If I refresh from the browser, then socket3_switch widget state is updated.
I made a short video of the problem:
https://youtu.be/kK3GgSZNvu8 (https://youtu.be/kK3GgSZNvu8)
Deutsche Version unten...
I have a simular issue with Rollos.
when i have only two widgets configured the first (inside HTML) is working as intended.
The second one does not refresh when it changes.
As soon as i add a third one the first two are working.
It seems to be an issue with the last widget only. (But i have not tested everything.)
I tried to add a clock widget at the end, but it does not solve my issue.
see my index.html:
<!DOCTYPE html>
<html>
<head>
<meta name='longpoll_maxage' content='0'>
<!-- <meta name="widget_base_width" content="200"> -->
<meta name="widget_base_height" content="50">
<!-- <meta name="widget_margin" content="1"> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<!--
/* FHEM tablet ui */
/*
* UI builder framework for FHEM
*
* Version: 2.5.*
* URL: https://github.com/knowthelist/fhem-tablet-ui
*
* Copyright (c) 2015-2017 Mario Stephan <mstephan@shared-files.de>
* Under MIT License (http://www.opensource.org/licenses/mit-license.php)
*
* - create a new folder named 'tablet' in /<fhem-path>/www
* - copy all files incl. sub folders into /<fhem-path>/www/tablet
* - add 'define TABLETUI HTTPSRV ftui ./www/tablet Tablet' in fhem.cfg
* - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
*/
-->
<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-green-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</title>
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizey="1" data-sizex="3">
<div data-type="clock" class="bigger thin red top-space-1x"></div>
</li>
<li data-row="2" data-col="1" data-sizey="4" data-sizex="1">
<header>Buero Nord</header>
<table>
<tr>
<td>
<div data-type="symbol"
class="cell bigger left"
data-device="r_Buero_Nord"
data-get="state"
data-states='["closed","position-90","position-80","position-70","position-60","position-50","position-40","position-30","position-20","position-10","open","drive-down","drive-up"]'
data-icons='["oa-fts_shutter_100","oa-fts_shutter_90","oa-fts_shutter_80","oa-fts_shutter_70","oa-fts_shutter_60","oa-fts_shutter_50","oa-fts_shutter_40","oa-fts_shutter_30","oa-fts_shutter_20","oa-fts_shutter_10","oa-fts_window_2w","oa-fts_shutter_down","oa-fts_shutter_up"]'
data-on-color="#2A2A2A"
data-on-background-color="#aa6900"
data-background-icon="fa-square">
</div>
</td>
<td width = 70px>
<div class="triplebox-v left">
<div data-type="push" data-device="r_Buero_Nord" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-set-on="open" class=""> </div>
<div data-type="push" data-device="r_Buero_Nord" data-icon="fa-minus" data-background-icon="fa-square-o" data-set-on="stop" class=""> </div>
<div data-type="push" data-device="r_Buero_Nord" data-icon="fa-chevron-down" data-background-icon="fa-square-o" data-set-on="closed" class=""> </div>
</div>
</td>
</tr>
</table>
</li>
<li data-row="2" data-col="2" data-sizey="4" data-sizex="1">
<header>Buero Sued</header>
<table>
<tr>
<td>
<div data-type="symbol"
class="cell bigger left"
data-device="r_Buero_Sued"
data-get="state"
data-states='["closed","position-90","position-80","position-70","position-60","position-50","position-40","position-30","position-20","position-10","open","drive-down","drive-up"]'
data-icons='["oa-fts_shutter_100","oa-fts_shutter_90","oa-fts_shutter_80","oa-fts_shutter_70","oa-fts_shutter_60","oa-fts_shutter_50","oa-fts_shutter_40","oa-fts_shutter_30","oa-fts_shutter_20","oa-fts_shutter_10","oa-fts_window_2w","oa-fts_shutter_down","oa-fts_shutter_up"]'
data-on-color="#2A2A2A"
data-on-background-color="#aa6900"
data-background-icon="fa-square">
</div>
</td>
<td width = 70px>
<div class="triplebox-v left">
<div data-type="push" data-device="r_Buero_Sued" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-set-on="open" class=""> </div>
<div data-type="push" data-device="r_Buero_Sued" data-icon="fa-minus" data-background-icon="fa-square-o" data-set-on="stop" class=""> </div>
<div data-type="push" data-device="r_Buero_Sued" data-icon="fa-chevron-down" data-background-icon="fa-square-o" data-set-on="closed" class=""> </div>
</div>
</td>
</tr>
</table>
</li>
<li data-row="2" data-col="3" data-sizey="4" data-sizex="1">
<header>Wohnzimmer</header>
<table>
<tr>
<td>
<div data-type="symbol"
class="cell bigger left"
data-device="r_Wohnzimmer"
data-get="state"
data-states='["closed","position-90","position-80","position-70","position-60","position-50","position-40","position-30","position-20","position-10","open","drive-down","drive-up"]'
data-icons='["oa-fts_shutter_100","oa-fts_shutter_90","oa-fts_shutter_80","oa-fts_shutter_70","oa-fts_shutter_60","oa-fts_shutter_50","oa-fts_shutter_40","oa-fts_shutter_30","oa-fts_shutter_20","oa-fts_shutter_10","oa-fts_window_2w","oa-fts_shutter_down","oa-fts_shutter_up"]'
data-on-color="#2A2A2A"
data-on-background-color="#aa6900"
data-background-icon="fa-square">
</div>
</td>
<td width = 70px>
<div class="triplebox-v left">
<div data-type="push" data-device="r_Wohnzimmer" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-set-on="open" class=""> </div>
<div data-type="push" data-device="r_Wohnzimmer" data-icon="fa-minus" data-background-icon="fa-square-o" data-set-on="stop" class=""> </div>
<div data-type="push" data-device="r_Wohnzimmer" data-icon="fa-chevron-down" data-background-icon="fa-square-o" data-set-on="closed" class=""> </div>
</div>
</td>
</tr>
</table>
</li>
<li data-row="3" data-col="1" data-sizey="1" data-sizex="3">
<div data-type="clock" class="bigger thin red top-space-1x"></div>
</li>
</ul>
</div>
</body>
</html>
Ich habe ein ähnliches Problem mit Rollos.
Ich habe 2 Rollos eingebunden. Das erste Widget aktualisiert sich wie erwartet, das zweite erst wenn man F5 drückt.
Wenn ich ein drittes Rollo einbinde funktionieren die ersten zwei, aber das dritte nicht.
Es scheint ein Thema mit dem "letzten" Widget zu sein.
Ich habe test halber schon ein clock widget ganz ans ende gesetzt. Hat jedoch keine Änderung gebracht.
Gruß
drobskind.
Ich konnte den Fehler nachvollziehen. Liegt vermutlich im FHEM.
Immer für das letzte Device im Longpollfilter sendet FHEM keine Update-Events.
Ich habe es jetzt mit einem nachfolgenden Komma gelöst. Bei mir geht es jetzt. -> Update ist bei Github
Was wir muss machen? Nur warten fur die update oder welsche file kann ich vonGithub nehmen?
Danke.
Just call
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
within the FHEMWEB command line text box
Just to be sure, since this related to longpoll.
The longpoll errors that come up, are still not resovled or not related right?
Which errors. You mentioned no errors, just missing updates.
I changed only how the script builds the LongpollFilter. The filter consist of a list of all used devices on the current page.
Before:
Device1,Device2,Device3
After:
Device1,Device2,Device3,
If you use a fix filter like: LongpollFilter=".*" this issue doesn't matter.
Hello setstate,
great thank you.
after running the update command it's working on my system, now.
Regards
drobskind
In my case the problem has persisted, but it still only for the last widget... :/
I did the update and shutdown restart.
I understood! The update function only updates the files of the original tablet folder.
If you have a second FTUI instance defined, then you have to recopy files from <tablet> to the <folder> of the second instance.
I confirmed it works! :)
Thanks.