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ü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)
Leider geht die Funktion bei mir mit dem Update auf FTUI 2.5 auch nicht mehr. Irgendwas scheint da schief gelaufen zu sein.
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
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.
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
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
Tausend Dank, vor lauter Parameter einfach nicht gesehen, dass da noch data-get statt date-warn stand.
Gruß
Michael
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.
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.
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.
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.
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.
jetzt fehlt dir wieder data-get. Ohne Angabe zeigt das auf STATE.
Ist bei dir myAbfall:STATE der richtige Lieferant für die Tage?
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
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>
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>
<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?
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]*"
Das ist lieb... Danke :-)
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
Was steht aktuell im
MAX_08973a:desiredTemperature
Steht nicht zufällig oC dahinter?
Zitat von: setstate am 13 Februar 2017, 11:12:37
Was steht aktuell im MAX_08973a:desiredTemperature
desiredTemperature
17.0
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]"
Alles tutti nun ... Danke schön :-*
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 ?
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
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.
super vielen dank ! Nun funktioniert es...
und danke für den Tipp mit https://regex101.com (https://regex101.com)