New FHEM Tablet UI

Begonnen von setstate, 22 Februar 2015, 23:37:24

Vorheriges Thema - Nächstes Thema

Spartacus

Zitat von: StefanJoe am 07 Januar 2016, 23:06:22
Ja, einfach die neu angelegten Devices in der fhem.cfg entfernen und den Pfad /opt/fhem/www/tablet vollständig löschen (bei Standard-Installationspfaden).

Hallo StefanJoe,
danke für die Antwort. Das ist dann ja echt einfach!
Dann werde ich das mal am WE angehen.

BTW.
Ich habe mehrere RPIs, die per fhem2fhem gekoppelt sind (Gartenhaus-PI, SONOS-PI, Wohnhaus-PI) Ich würde aber gerne Infos vom SONOS-PI, Gartenhaus-PI (Außentemperatur) und Steuerelemente vom Wohnhaus-PI auf einer Anzeigeseite darstellen. Wie baut man das am Besten auf?

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

Zitat von: StefanJoe am 07 Januar 2016, 23:06:22
Ja, einfach die neu angelegten Devices in der fhem.cfg entfernen und den Pfad /opt/fhem/www/tablet vollständig löschen (bei Standard-Installationspfaden).

Hallo StefanJoe,
danke für die Antwort. Das ist dann ja echt einfach!
Dann werde ich das mal am WE angehen.

BTW.
Ich habe mehrere RPIs, die per fhem2fhem gekoppelt sind (Gartenhaus-PI, SONOS-PI, Wohnhaus-PI) Ich würde aber gerne Infos vom SONOS-PI, Gartenhaus-PI (Außentemperatur) und Steuerelemente vom Wohnhaus-PI auf einer Anzeigeseite darstellen. Wie baut man das am Besten auf?

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

HoTi

Bevor ich jetzt vor Verzweiflung den Rechner an die Wand klatsche...

ich möchte gerne meine Mülltonne Blinken lassen wenn der 1 oder 0 ist. Ansonsten soll sie ganz normal stehen bleiben mit dem Wert.

Ich muss das irgenwie mit dem data-get-on machen aber bei mir blinkt es dann immer :-( Kann ich da irgendwas kleiner/gleich 1 eingeben?

Der Ausgang:


<!-- Müll -->
<li data-row="3" data-col="2" data-sizex="2" data-sizey="3">
<header><font size="+1">Abfall</font></header>
<table class="calls" width="100%">
<tr>
<td>Was</td>
<td>Wann</td>
</tr>
<tr>
<td><div data-type="label" class="large thin">Hausmüll</div></td>
<td>
<div data-type="symbol"class="bigger warn"
data-device="Restmuell" data-get="state"
data-get-on="(\d+)"
data-on-color="#0E0E0E"
data-icon="fa-trash-o">
</div>
</td>
</tr>
<tr>
<td><div data-type="label" class="inline large thin">Papiermüll</div></td>
<td>
<div data-type="symbol"class="bigger warn"
data-device="Papiertonne" data-get="state"
data-get-on="(\d+)"
data-on-color="#4040D5"
data-icon="fa-trash-o">
</div>
</td>
</tr>
<tr>
<td><div data-type="label" class="inline large thin">Plastikmüll</div></td>
<td>
<div data-type="symbol"class="bigger warn"
data-device="Gelbetonne" data-get="state"
data-get-on="(\d+)"
data-on-color="#E6E600"
data-icon="fa-trash-o">
</div>
</td>
</tr>
</table>
</li>

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

waschbaerbauch

Auch das liegt schon in der User-Demo vom roman ;)

<li data-row="3" data-col="1" data-sizex="3" data-sizey="1">
<header>Abfallkalender</header>
<div class="cell center">
<div data-type="button"
data-background-icon="none"
data-device="Restmuell"
data-get="state"
data-off-color="#606060"
data-cmd="set Restmuell off"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'
data-on-colors='["#505050","#505050","#505050"]'
class="bigger">
</div>
<div data-type="label">Restmüll</div>
</li>

HoTi

Jaaaa Super danke,

leider habe ich nicht verstanden was da passiert!
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

waschbaerbauch

Ich auch nur so halb, aber ggf. kann uns einer aufklären :D

roman1528

#3561
Zitat von: waschbaerbauch am 08 Januar 2016, 13:46:15
Ich auch nur so halb, aber ggf. kann uns einer aufklären :D

Moin.
Ich habe in einen Google-Kalender die Abfuhrtermine eingetragen.. Da gibt es eine Vorlage zu... fragt mich bitte nicht von wem. Dieser Kalender wird ausgelesen und über ein notify ein bzw. mehrere (Restmüll,Plastik,Papier) Dummys gesetzt.
Diese Dummys lese ich in der FTUI aus. Es werden die Resttage angezeigt. Einen Tag vor Abfuhr blinkt das Icon und es wird eine 1 angezeigt. Wenn ich den Müll draußen habe klick ich auf den Button, er wird konstant angezeigt mit einem ! damit ich weiterhin weiß... morgen ist müll.


<div data-type="button"        <- sollte klar sein
data-background-icon="none"        <- damit da nichts drum rum is...
data-device="Restmuell"         <- Der Dummy
data-get="state"           <- Sollte auch klar sein.
data-off-color="#606060"         <- .....
data-cmd="set Restmuell off"          <- Um das blinken abzuschalten wenn der Müll draußen ist.
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'      <- "off"  "1"    "10-19 oder 2-9" ich glaub 2-9 kann weg?!
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'       <- "nach dem drücken"   "letzter tag"    "Resttage"
data-on-colors='["#505050","#505050","#505050"]'       <- Farben für die stati... damit die tonne immer grau ist.
class="bigger">       <- sollte auch klar sein.
</div>


Wenn Fragen sind schickt mir doch bitte ne PN oder ne Mail über meine Seite... Hier komme ich immer nicht ganz mit^^

Grüße^^

EDIT
Unter dem Download auf meinen Seiten sind Kommentarfelder für euch eingerichtet... Da werde ich drüber benachrichtigt... Dann können es auch gleich alle lesen^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

HoTi

Ja das hatte ich jetzt so. das mit dem CMD hatte ich noch nicht, jetzt aber :-)

Ich meine ich habe den Code nicht verstanden, wie es mit der erkennung für das Blinken geht. Also diese Zeilen
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'      <- "off"  "1"    "10-19 oder 2-9" ich glaub 2-9 kann weg?!
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'       <- "nach dem drücken"   "letzter tag"    "Resttage"
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

waschbaerbauch

Das ist auch bei mir die Zeile die ich mangels Programmierkenntnissen nicht verstanden habe, aber es funktionierte zumindest gestern, von daher - alles gut! :)

roman1528

Zitat von: RettungsTim am 08 Januar 2016, 14:03:38
Ja das hatte ich jetzt so. das mit dem CMD hatte ich noch nicht, jetzt aber :-)

Ich meine ich habe den Code nicht verstanden, wie es mit der erkennung für das Blinken geht. Also diese Zeilen
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'      <- "off"  "1"    "10-19 oder 2-9" ich glaub 2-9 kann weg?!
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'       <- "nach dem drücken"   "letzter tag"    "Resttage"



data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'      <- "off"  "1"    "10-19 oder 2-9" ich glaub 2-9 kann weg?!
                        Das ist RegEx. Kann ich selber nicht... Aber mit probieren hat es dann geklappt.
                  "off ist klar" "prüft ob es 1 ist" "prüft ob es 10,11,12,...,19 ist ODER (|) 2,3,4,...,9 wobei das wahrscheinlich weg kann weil mein müll definitiv alle 14 tage abgeholt wird"

data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'
                      Die Zuordnungen zu den einzelnen values im data-get-on array.


i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

setstate

ich habe es noch etwas vereinfacht:


  <div data-type="pagebutton"
          data-background-icon="none"
          data-device="dummy1"
          datacmd="set dummy1 off"
          data-states='["off","[01]","[1-9][0-9]|[2-9]"]'
          data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'
          data-colors='["#505050","#505050","#505050"]'
          class="bigger">
  </div>


2-9 müssen aber schon bleiben, weil man sonst kein Icon für die Resttage 2-9 sieht sondern nur von 0-1 und dann wieder 10-19

roman1528

Zitat von: setstate am 08 Januar 2016, 14:52:57
2-9 müssen aber schon bleiben, weil man sonst kein Icon für die Resttage 2-9 sieht sondern nur von 0-1 und dann wieder 10-19

ha... siehste... das war es xD
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

TWART016

Zitat von: roman1528 am 08 Januar 2016, 12:08:43
Schau dir bitte meine FTUI ganz genau an. (Link in der Signatur)
In den zu öffnenden Seiten brauchst du keinen <head>-Tag. Nur in der index.html.
In der index.html sollte am besten nur ein include sein. Wie z.B. der HomeButton der auf die z.B. home.html verweist. Diese wird dann bei aufruf der index.html geladen.

Danke, damit sind fast alle Probleme weg. die <head> entfernen hat geholfen.

In den index.html habe ich im Prinzip nur Verweise auf andere html Seiten mittels data-template.

Jetzt erscheint ein anderes Problem. Manchmal wird die index.html nicht richtig geladen. (siehe Screenhsot index.jpg)
Dann kopieren ich den Link erneut in die Adresszeile -> keine Veränderung. Nach einem Neustart des Browsers geht es wieder, genauso wie F5 (aktualisieren) oder Strg+R (neu laden).

Manchmal ist zudem das ganze Feld Home (Überschrift + Symbol + Text) ebenfalls nicht vorhanden.

Bei beiden Adressen gibt es gleiches Verhalten:
- http://192.168.178.25:8083/fhem/ftui/index.html
- http://192.168.178.25:8083/fhem/ftui/

setstate

Probiere mal spaßeshalber den kpl. Inhalt der index.html bis zum </head>-Tag 1:1 aus meinem Beispiel zu übernehmen.
Mit der defer Angabe weißt man den Renderer darauf hin, dass die JS-Files erst nachdem die Seite vollständig geladen wurde abgearbeitet werden soll.


TWART016

Zitat von: setstate am 08 Januar 2016, 21:37:05
Probiere mal spaßeshalber den kpl. Inhalt der index.html bis zum </head>-Tag 1:1 aus meinem Beispiel zu übernehmen.
Mit der defer Angabe weißt man den Renderer darauf hin, dass die JS-Files erst nachdem die Seite vollständig geladen wurde abgearbeitet werden soll.

Super danke, die Zeile hat geholfen:
<meta http-equiv="Cache-Control" content="no-store" />