[gelöst]Kein initialupdate eines labelwert wenn STATE=%Wert, erst bei Aenderung

Begonnen von knxhm, 24 Juli 2016, 18:19:46

Vorheriges Thema - Nächstes Thema

knxhm

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
KNX, HM, HMLAN, RPi 2 mit Raspbian Jessie, knxd und FHEM, 1w Temperaturmessung mit gpio4, Dämmerungssensor, autom. Rolladensteuerung

setstate

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%"

knxhm

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.
KNX, HM, HMLAN, RPi 2 mit Raspbian Jessie, knxd und FHEM, 1w Temperaturmessung mit gpio4, Dämmerungssensor, autom. Rolladensteuerung

setstate

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.*

knxhm

KNX, HM, HMLAN, RPi 2 mit Raspbian Jessie, knxd und FHEM, 1w Temperaturmessung mit gpio4, Dämmerungssensor, autom. Rolladensteuerung