FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: knxhm am 24 Juli 2016, 18:19:46

Titel: [gelöst]Kein initialupdate eines labelwert wenn STATE=%Wert, erst bei Aenderung
Beitrag von: knxhm am 24 Juli 2016, 18:19:46
Hallo

KNX Objekt in FHEM zur Anzeige des Rolladenstatus in %:


define AE_Buero_Roll_Status KNX 1/1/73:dpt5.001
attr AE_Buero_Roll_Status IODev tul
attr AE_Buero_Roll_Status room Rollladen


'STATE' beinhaltet dann z. B. '88 %'

Definition im Tablet UI, zur Anzeige des 'STATE' als label und als slider:


<div data-type="label" data-device='AE_Buero_Roll_Status' data-get="STATE" data-value="-1" >&nbsp;</div>
<div data-type="level" data-device='AE_Buero_Roll_Status' data-get="STATE" data-min="0"  data-max="100"  data-part="1"  class="mini"  </div>


Nach erstmaligem Aufruf der Seite erhalte ich die Anzeige in initialload.png. Der Label zeigt nur '%' ohne numerischen Wert und der slider wird auch nicht gesetzt.
Wenn ich dann  den Rolladen ein Stück fahre gibts in FHEM eine Änderung des 'STATE' Wertes und dann ist die Tablet Anzeige auch richtig, wie in nachupdate.png zu sehen.

Wenn ich das KNX Objekt auf dpt5 (ohne .001) einstelle, d.h. nur numerischer Wert von 0..255 dann klappt die richtige Anzeige direkt nach Seitenaufruf.
Mit einem %Wert nicht.

Mach ich was falsch oder ist das ein Bug ? Vielleicht gibts beim REGEXP filtern des STATE ein Problem ?

Grüße
knxhm
Titel: Antw:Kein inital update eines labelwert wenn 'STATE' ein % Wert, erst bei Aenderung
Beitrag von: setstate am 24 Juli 2016, 19:19:09
Ich würde data-part="(\d{1,3})%" bei beiden setzen.

Wenn tatsachlich ein Leerzeichen dazwischen ist, dann so

data-part="(\d{1,3})\s%"
Titel: Antw:Kein initial update eines labelwert wenn 'STATE' ein % Wert, erst bei Aenderung
Beitrag von: knxhm am 24 Juli 2016, 19:31:20
Habs ausprobiert aber das hilft leider nicht. Der Effekt ist der gleiche, ausser das beim Label das % Zeichen fehlt, weils ja weggefiltert wird.
Habe übrigens vor dem % ein Leerzeichen eingefügt, ist im STATE auch so.


<div data-type="label" data-device='AE_Buero_Roll_Status' data-get="STATE"  data-part="(\d{1,3}) %" >&nbsp;</div>
<div data-type="level" data-device='AE_Buero_Roll_Status' data-get="STATE" data-min="0"  data-max="100"  data-part="(\d{1,3}) %"  class="mini"  </div>


Es funktionierte ja grundsätzlich, nur eben beim erstmaligen Seitenaufruf sind die Werte falsch.
Titel: Antw:Kein initial update eines labelwert wenn 'STATE' ein % Wert, erst bei Aenderung
Beitrag von: setstate am 24 Juli 2016, 20:18:42
Der Bug ist nur wenn man auf STATE schaut und in der alten Version.
Mit der 2.2 funktioniert es.
Wenn man data-get auf ein anderes Reading setzt, klappt es auch bei der 1.*
Titel: Antw:Kein initial update eines labelwert wenn 'STATE' ein % Wert, erst bei Aenderung
Beitrag von: knxhm am 25 Juli 2016, 10:13:53
Danke, kann ich bestätigen, es funktioniert in der V2.2.