FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: sylvester am 25 Januar 2017, 12:17:56

Titel: Symbol mit Warn-Anzeige
Beitrag von: sylvester am 25 Januar 2017, 12:17:56
Hallo zusammen,

ich spiele gerade mit Tablet UI herum. Vorgestern habe ich nun einen Abfallkalender eingebaut. Über dem Mülltonnen-Symbol wurden im kleinen roten Kreis auch die Tage bis zur nächsten Leerung angezeigt. Seit gestern funktioniert das nun nicht mehr.

Habe ich da irgendetwas kaputt programmiert oder geht das gerade allgemein nicht?

Ich habe bei mir schon mehrere Stunden gesucht und keinen Fehler gefunden:

<li data-row="5" data-col="10" data-sizex="6" data-sizey="6">
     <header><div data-type="label" class="large">M&uuml;llabfuhr</div></header>
     <table style="width:100%" class="top-space">
          <tr>
                <td>
                     <div data-type="label"
                          data-device="Abfalltermine"
                          data-get="graueTonne_text" style="display:inline">
                    </div>
                </td>
                <td>
                     <div data-type="symbol"
                          data-device="Abfalltermine"
                          data-get="graueTonne_tage"
                          data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                          data-on-colors='["black","black"]'
                          data-get-on='["0","2"]'
                          data-background-icon="fa-circle" class="inline" >
                     </div>
                </td>
          </tr>
          <tr>
                <td>
                     <div data-type="label"
                          data-device="Abfalltermine"
                          data-get="grueneTonne_text" style="display:inline">
                     </div>
                </td>
                <td>
                     <div data-type="symbol"
                          data-device="Abfalltermine"
                          data-get="grueneTonne_tage"
                          data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                          data-on-colors='["green","green"]'
                          data-get-on='["0","2"]'
                          data-background-icon="fa-circle" class="inline" >
                     </div>
                </td>
          </tr>
          <tr>
                <td>
                     <div data-type="label"
                          data-device="Abfalltermine"
                          data-get="gelberSack_text" style="display:inline">
                     </div>
                </td>
                <td>
                     <div data-type="symbol"
                          data-device="Abfalltermine"
                          data-get="gelberSack_tage"
                          data-icons='["fs-bag fa-spin","fs-bag warn"]'
                          data-on-colors='["yellow","yellow"]'
                          data-get-on='["0","2"]'
                          data-background-icon="fa-circle" class="inline" >
                     </div>
                </td>
          </tr>           
          <tr>
                <td>
                     <div data-type="label"
                          data-device="Abfalltermine"
                          data-get="Altpapiertonne_text" style="display:inline">
                     </div>
                </td>
                <td>
                     <div data-type="symbol"
                          data-device="Abfalltermine"
                          data-get="Altpapiertonne_tage"
                          data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                          data-on-colors='["blue","blue"]'
                          data-get-on='["0","2"]'
                          data-background-icon="fa-circle" class="inline" >
                     </div>
                </td>
          </tr>
     </table>
</li>


Wenn ich symbol durch Label ersetze werden die Tage angezeigt ... also die Daten scheinen dort schon anzukommen.

Und dann noch eine Frage: Kann mir jemand diese Zeile erklären:
data-get-on='["0","2"]'
Ich hätte dort eigentlich Zahlenbereiche erwartet, also etwas wie:
data-get-on='[<"2",>="2"]'

Viele Grüße

Stephan

PS: Problem wird auch hier diskutiert (gerade erst gesehen): https://forum.fhem.de/index.php/topic,65604.0.html (https://forum.fhem.de/index.php/topic,65604.0.html)
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: gloob am 25 Januar 2017, 15:48:11
Leider geht die Funktion bei mir mit dem Update auf FTUI 2.5 auch nicht mehr. Irgendwas scheint da schief gelaufen zu sein.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: olindner am 25 Januar 2017, 19:21:03
war bei mir auch so ...  :o

hatte vorher dieses ...
data-get="Altpapiertonne_tage"

und jetzt das hier ...
data-warn="Altpapiertonne_tage"

und es funzt wieder  :) hoffe bei Euch auch bald wieder! vg Olaf
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 25 Januar 2017, 23:09:11
Ich kopiere einfach mal meine Antwort aus dem anderen Thread hierher:


Das Problem mit dem Warn-Symbol habe ich gefixed.

Noch kurze Erklärung zu Benutzung

Entweder man benutzt die Warn-Klasse im Icon-Status-Array. Damit erfolgt die Anzeige einfach über das data-get Reading und den data-get-on (bzw. data-states) Vergleich.


<div data-type="symbol" data-device="ftuitest" data-get="STATE" data-icons='["fa-trash warn fa-spin","fa-trash warn","fa-trash"]' data-on-colors='["red","yellow","#333333"]' data-get-on='["(0|1)","(2|3|4|5|6)","(7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)"]' class="big inline">



Oder man schaltet das Warn-Symbol über ein data-warn Reading direkt zu. Mit data-warn-on und data-warn-off stellt man ein, wann es angezeigt wird bzw. verschwindet. default für data-warn-on ist 'true|on|[1-9]{1}[0-9]*'). Für data-warn-off ist der default 'false|off|0'

<div data-type="symbol" data-device="ftuitest" data-get="STATE" data-warn="countWarnings" data-icon="fa-trash" data-on-colors="yellow" data-get-on="(0|1)" >

Aber nicht beides gemixt. Also warn zu den Icons oder als data-warn.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: MichaelO am 27 Januar 2017, 19:31:25
Darf ich nochmal kurz nachhaken? Ich baue seit ein paar Tagen an meiner Oberfläche (erstmals mit tablet ui) und habe anscheinend ein ähnliches Problem. Die Warn-Labels mit den Tagen werden nicht angezeigt:

<div data-type="button"
  data-background-icon="none"
  data-device="myAbfall"
  data-get="Restabfallbehaelter40lbis240l_tage"
  data-off-color="#808080"
  data-fhem-cmd="setreading myAbfall Restabfallbehaelter40lbis240l_tage off"
  data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
  data-icons='["fa-trash", "fa-trash warn fa-spin","fa-trash warn", "fa-trash"]'
  data-on-colors='["#808080","#808080","#808080","#808080"]'
  class="bigger">
</div>


Obwohl die icons als "warn" angegeben sind, passiert nichts. Das "spin" wird korrekt ausgeführt, es erscheinen nur keinerlei Labels.

Danke für die Hilfe
Michael
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: eazy_isi am 27 Januar 2017, 20:01:58
So sollte es funktionieren:

<div data-type="button"
  data-background-icon="none"
  data-device="myAbfall"
  data-warn="Restabfallbehaelter40lbis240l_tage"
  data-off-color="#808080"
  data-fhem-cmd="setreading myAbfall Restabfallbehaelter40lbis240l_tage off"
  data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
  data-icons='["fa-trash", "fa-trash warn fa-spin","fa-trash warn", "fa-trash"]'
  data-on-colors='["#808080","#808080","#808080","#808080"]'
  class="bigger">
</div>


Zitat von: MichaelO am 27 Januar 2017, 19:31:25
Darf ich nochmal kurz nachhaken? Ich baue seit ein paar Tagen an meiner Oberfläche (erstmals mit tablet ui) und habe anscheinend ein ähnliches Problem. Die Warn-Labels mit den Tagen werden nicht angezeigt:

<div data-type="button"
  data-background-icon="none"
  data-device="myAbfall"
  data-get="Restabfallbehaelter40lbis240l_tage"
  data-off-color="#808080"
  data-fhem-cmd="setreading myAbfall Restabfallbehaelter40lbis240l_tage off"
  data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
  data-icons='["fa-trash", "fa-trash warn fa-spin","fa-trash warn", "fa-trash"]'
  data-on-colors='["#808080","#808080","#808080","#808080"]'
  class="bigger">
</div>


Obwohl die icons als "warn" angegeben sind, passiert nichts. Das "spin" wird korrekt ausgeführt, es erscheinen nur keinerlei Labels.

Danke für die Hilfe
Michael
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: MichaelO am 28 Januar 2017, 09:32:40
Tausend Dank, vor lauter Parameter einfach nicht gesehen, dass da noch data-get statt date-warn stand.

Gruß
Michael
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 28 Januar 2017, 09:52:27
Nochmal kurz auf meine Erklärung verwiesen: https://forum.fhem.de/index.php/topic,65704.msg569530.html#msg569530

Entweder data-warn oder warn Klasse bei data-icons mit dabei. Beides macht keinen Sinn. Dann wird nur data-warn benutzt.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: eazy_isi am 30 Januar 2017, 07:38:45
Kann ich so nicht bestätigen, wenn ich bei den data-icons "warn" entferne,
fehlt mir die Anzeige der Resttage wieder ?
Habe ich was übersehen ?

<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall"
data-get="GelberSack_tage"
data-off-color="yellow"
data-fhem-cmd="setreading myAbfall GelberSack_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fs-bag","fs-bag fa-spin","fs-bag blink","fs-bag"]'
data-on-colors='["gold","gold","gold","gold"]'
class="big">
</div>



Zitat von: setstate am 28 Januar 2017, 09:52:27
Nochmal kurz auf meine Erklärung verwiesen: https://forum.fhem.de/index.php/topic,65704.msg569530.html#msg569530

Entweder data-warn oder warn Klasse bei data-icons mit dabei. Beides macht keinen Sinn. Dann wird nur data-warn benutzt.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 30 Januar 2017, 08:03:26
Dir fehlt dann


data-warn="GelberSack_tage"


Aber lass doch warn bei den Icons drin. Entweder bei Icons oder bei data-warn*. Du hast dort schon eh die Logik drin, bei welchem Wert was angezeigt werden soll. Dann lass das so.

Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: eazy_isi am 30 Januar 2017, 08:19:53
In meinem ProduktivSystem hatte ich dies ja bereits so gefixt.
In meinem Testsystem hab ich das jetzt beim bereinigen übersehen ich Trottel.
Habs jetzt geändert ==> passt !
Allerdings habe ich jetzt die Problematik, das alle Icons blinken und der Spin beim aktuellen Termin (Gelber Sack heute)
nicht mehr funktioniert.
Hier mal mein kompletter Code, vielleicht sehe ich einfach den Wald vor lauter Bäumen nicht mehr ?

<!-- ============== Abfalltermine  ================ -->
<!-- ======================================= -->
<li class="semitransparent3d" data-row="7" data-col="1" data-sizex="6" data-sizey="2">
<header class="semitransparentheader">Abfall</header>
<div class="hbox items-space-around">
<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall"
data-warn="Restmuellgefaess_tage"
data-off-color="#000000"
data-fhem-cmd="setreading myAbfall Restmuellgefaess_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fa-trash","fa-trash fa-spin","fa-trash blink","fa-trash"]'
data-on-colors='["#000000","#000000","#000000","#000000"]'
class="big">
</div>
<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall"
data-warn="GelberSack_tage"
data-off-color="yellow"
data-fhem-cmd="setreading myAbfall GelberSack_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fs-bag","fs-bag fa-spin","fs-bag blink","fs-bag"]'
data-on-colors='["gold","gold","gold","gold"]'
class="big">
</div>
<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall"
data-warn="Papiertonne_tage"
data-off-color="#0088CC"
data-fhem-cmd="setreading myAbfall Papiertonne_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fa-trash","fa-trash fa-spin","fa-trash blink","fa-trash"]'
data-on-colors='["#0088CC","#0088CC","#0088CC","#0088CC"]'
class="big">
</div>
<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall"
data-warn="Gruengutbuendelsammlung_tage"
data-off-color="#00cc0a"
data-fhem-cmd="setreading myAbfall Gruengutbuendelsammlung_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fs-bag","fs-bag fa-spin","fs-bag blink","fs-bag"]'
data-on-colors='["#00cc0a","#00cc0a","#00cc0a","#00cc0a"]'
class="big">
</div>
</div>
</li>


Zitat von: setstate am 30 Januar 2017, 08:03:26
Dir fehlt dann


data-warn="GelberSack_tage"


Aber lass doch warn bei den Icons drin. Entweder bei Icons oder bei data-warn*. Du hast dort schon eh die Logik drin, bei welchem Wert was angezeigt werden soll. Dann lass das so.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: unimatrix am 30 Januar 2017, 08:35:33
Zitat von: eazy_isi am 30 Januar 2017, 08:19:53
Allerdings habe ich jetzt die Problematik, das alle Icons blinken und der Spin beim aktuellen Termin (Gelber Sack heute)
nicht mehr funktioniert.

Code sieht eig. richtig aus. Ich mache das immer so, dass ich mir einen Dummy anlege und damit durchteste. Also einfach das data-device kurzfristig durch irgendeinen Dummy ersetzen und dann bei dem manuell die ganzen Readings durchprobieren, um zu testen dass alles geht oder dann auch hoffentlich rauszufinden, wo das Problem ist.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 30 Januar 2017, 08:41:21
jetzt fehlt dir wieder data-get. Ohne Angabe zeigt das auf STATE.
Ist bei dir myAbfall:STATE der richtige Lieferant für die Tage?
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: unimatrix am 30 Januar 2017, 08:45:40
Was setstate sagt, habe ich übersehen - vll hilft zusätzlich das Wiki weiter, hier habe ich gestern einiges eingefügt, allerdings optimiert auf nur ein Symbol für mehrere Tonnen.
https://wiki.fhem.de/wiki/ABFALL
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: eazy_isi am 30 Januar 2017, 11:49:42
Nachdem ich "data-get" jetzt auch wieder drin habe, sieht das ganze schon besser aus.
Der heutige Abholtermin "Gelber Sack" rotiert und das Warnsymbol ist weg sollte soweit passen.

Allerdings zeigt er jetzt beim morgigen Abholtermin "Restmüll" kein Warnsymbol mehr an und das Symbol wird
normal dargestellt. Allerdings sollte dieses doch heute blinken !?

<div data-type="symbol"
data-background-icon="fa-circle-thin"
data-device="myAbfall
data-get="Restmuellgefaess_tage"
data-warn="Restmuellgefaess_tage"
data-off-color="#000000"
data-fhem-cmd="setreading myAbfall Restmuellgefaess_tage off"
data-get-on='["off","0","1","[2-9]{1}|[0-9]{2}"]'
data-icons='["fa-trash","fa-trash fa-spin","fa-trash blink","fa-trash"]'
data-on-colors='["#000000","#000000","#000000","#000000"]'
class="big">
</div>
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: stauraum am 31 Januar 2017, 15:12:53
Ich begreifs einfach nicht ... :-O

ich versuche im FTUI ein Widget vom Typ Symbol zu bauen, welches mir die Summe aller geöffneten Fenster/Türen anzeigt. Dazu habe ich mir eine ReadingsGroup "rgFensterKontakte" gebaut, die mir am Ende ein "rgFensterKontakte:sum" liefert. Sind alle Fenster zu steht dort natürlich eine 0, ist eines oder mehrere offen, dann der entsprechende Wert.

vllt. kann mir jemand auf die Sprünge helfen ... ;-)


<div class="bigger" data-type="symbol"
data-device="rgFensterKontakte"
data-get="rgFensterKontakte:sum"
data-warn="rgFensterKontakte:sum"
data-icon="fa-windows"
data-on-colors="yellow"
data-get-on="(0|1)"></div>
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: accessburn am 13 Februar 2017, 10:32:28
<td style="vertical-align:top;">
<div data-type="label" class="top-space darker">Heizung</div>
<div data-type="popup" data-width="300px" data-height="350px">
<div data-type="switch" data-get-on="" data-get-off="" data-icon="fa-fire" data-warn="MAX_08973a:desiredTemperature"></div>
<div class="dialog">
<header>Links</header>


Geht data-warn nicht mehr bei switch?
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 13 Februar 2017, 10:49:18
Du willst die Temperatur innerhalb des Badge anzeigen?
Dann musst du einpassendes data-warn-on definieren. Default ist "1" oder "true" oder "on"

data-warn-on="[0-9]+"

Ich denke über den Default-Wert nochmal nach.

Alles größer null wäre:

data-warn-on="[1-9][0-9]*"
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: accessburn am 13 Februar 2017, 10:53:26
Das ist lieb... Danke :-)
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: accessburn am 13 Februar 2017, 10:58:46
Jetzt werde ich bestimmt wieder nervig, aber geht tatsächlich immernoch nicht :'(

<div data-type="switch" data-warn="MAX_08973a:desiredTemperature" data-warn-on="[1-9][0-9]*" data-get-on="" data-get-off="" data-icon="fa-fire"></div>


Ich hasse reguläre Ausdrücke  ;D
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 13 Februar 2017, 11:12:37
Was steht aktuell im

MAX_08973a:desiredTemperature

Steht nicht zufällig oC dahinter?
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: accessburn am 13 Februar 2017, 11:42:34
Zitat von: setstate am 13 Februar 2017, 11:12:37
Was steht aktuell im MAX_08973a:desiredTemperature

desiredTemperature
17.0
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 13 Februar 2017, 11:56:32
Ach Komma

Dann muss das mit in den Ausdruck rein

Entweder beliebig nach der Zahl

data-warn-on="[1-9][0-9]*.*"


Oder wenn das Komma immer dabei ist, etwas strenger


data-warn-on="[1-9][0-9]*\.[0-9]"
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: accessburn am 13 Februar 2017, 12:05:57
Alles tutti nun ... Danke schön  :-*
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: en-trust am 28 April 2017, 08:34:51
Gibt es eine Möglichkeit das data-warn Icon mit der Anzahl auch für den Abfahrtsmonitor der DBPLAN zu verwenden, sprich mir alle Verspätungen anzeigen zu lassen, die mir in der Liste angezeigt werden ?
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: v1per am 22 Oktober 2019, 06:49:13
Hi,
ich greife das alte Thema mal wieder auf..

                <div data-device="myABFALL"
                     data-type="symbol"
                     data-get="ftui_next"
                     data-get-on='["Biotonne14tgl_0$","Biotonne14tgl_1$","Biotonne14tgl_.*","Papiertonne4woe_0$","Papiertonne4woe_1$","Papiertonne4woe_.*"]'
                     data-get-warn=".*([0|1|2|3]).*"
                     data-colors='["#8B4513","#8B4513","#8B4513","#2d9e1c","#2d9e1c","#2d9e1c"]'
                     class="bigger warn"
                     data-icons='["fa-trash-o fa-spin","fa-trash-o blink","fa-trash-o","fs-dustbin fa-spin","fs-dustbin blink","fs-dustbin"]'
                     ></div>

                <div data-device="myABFALL"
                     data-get="ftui_datum"
                     data-type="label"
                     class="big"
                     ></div>


aktuell wird Biotonne14tgl_10 angezeigt, aber das warnsymbol zeigt 0 an (bei 11 zeigt es 1 an).

Was mache ich falsch ? :-)

Ich nutze FUIP, aber das sollte eigentlich keine Rolle spielen oder ?

Gruß Jan
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: setstate am 22 Oktober 2019, 07:21:30
Das data-get-warn Regex ist zu ungenau.

Dein .*([0|1|2|3]).* reagiert auf jede beliebige Zahl, egal wo, egal ob noch andere Zahlen vor oder danach sind.

.*_([0-3]) würde auf eine Zahl von 0-3 am Ende nach dem _ (Unterstrich) reagieren.

Kann man bei https://regex101.com ausprobieren.
Titel: Antw:Symbol mit Warn-Anzeige
Beitrag von: v1per am 22 Oktober 2019, 08:18:13
super vielen dank ! Nun funktioniert es...

und danke für den Tipp mit https://regex101.com  (https://regex101.com)