Symbol mit Warn-Anzeige

Begonnen von sylvester, 25 Januar 2017, 12:17:56

Vorheriges Thema - Nächstes Thema

sylvester

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

gloob

Leider geht die Funktion bei mir mit dem Update auf FTUI 2.5 auch nicht mehr. Irgendwas scheint da schief gelaufen zu sein.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

olindner

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

setstate

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.

MichaelO

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

eazy_isi

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

MichaelO

Tausend Dank, vor lauter Parameter einfach nicht gesehen, dass da noch data-get statt date-warn stand.

Gruß
Michael

setstate

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.

eazy_isi

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.

setstate

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.


eazy_isi

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.

unimatrix

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.

setstate

jetzt fehlt dir wieder data-get. Ohne Angabe zeigt das auf STATE.
Ist bei dir myAbfall:STATE der richtige Lieferant für die Tage?

unimatrix

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

eazy_isi

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>