FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: namor am 24 September 2016, 11:15:07

Titel: [gelöst]möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 24 September 2016, 11:15:07
Hallo,

ich bin zu doof dazu.
Ich möchte aufbauend auf den HTTPMOD welcher auch Grundlage für das Departure Widget ist eine eigene Darstellung über ein Label-Widget, Zeilenweise realisieren.
Das Httpmod-Reading sieht so aus:

[["5","Rieselfeld","3"],["5","Freiburg Hornusstraße","4"],["5","Rieselfeld","10"],["5","Freiburg Hornusstraße","12"],["5","Rieselfeld","18"],["5","Freiburg Hornusstraße","19"],["5","Rieselfeld","25"],["5","Freiburg Hornusstraße","27"],["5","Rieselfeld","33"],["5","Freiburg Hornusstraße","34"]]

Ich möchte gerne jede Linie mit Ihren Zeiten in eine Zeile, wie im Departure.

Nun komme ich absolut nicht mit dem Auslesen des Readings zurecht.
Ich denke ein data-substitution wäre dafür geignet, doch habe ich keine Ahnung wie das Regex-Auslesen aussehen sollte???

Kann mir da jemand einen Tipp geben?

Gruß
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: setstate am 24 September 2016, 13:19:45
Mit RegEx würde man sich einen abbrechen ... Das ist was für ganz Harte  8)

Da die Zeile aber einem Javascript-Array entspricht, kann an hier ganz gut mit JSON und einem entsprechendem Parser arbeiten.

Daher habe ich jetzt eine neue Funktion eingebaut, die man mit data-substitution nutzen kann und die JSON.parse() verwendet.


<div data-type="label" data-device="VVO" data-get="Altmarkt" data-substitution="parseJson()[0][1]" class=""></div>


Damit zeigt man die erste Zeile und die zweite Spalte an
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 25 September 2016, 08:45:51
@setstate
Du bist mein Held.
Super, vielen Dank.

Suche den Donation Button?

Eine Frage noch zu der neuen Funktion, kann ich auch gleichzeitig alle 3 Spalten abfragen oder muss ich für jede Spalte ein Label bauen?
Wenn ja, wie?

Gruß
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: setstate am 25 September 2016, 09:33:18
da muss man ganz tief in die Einzeiler-Trickkiste greifen:

Zwei Zeilen gleichzeitig, jeweils die 2. Spalte


data-substitution="parseJson().map(function(item,index) {return (index==0||index==1)?item[1]+'<br>':'';})"


2 Spalten von einer Zeile

data-substitution="parseJson().map(function(item,index) {return (index==0)?item[1]+' in '+item[2]+'min':'';})"


... und Donation-Button findet man auf github ganz unten:
https://github.com/knowthelist/fhem-tablet-ui
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 25 September 2016, 10:52:17
Klasse und Danke für Deine Zeit. ;)
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 25 September 2016, 15:37:29
Wer es noch auf alle 3 Spalten mit eigenen Bezeichnungen ausbauen möchte kann dies z.Bsp. so machen:
data-substitution="parseJson().map(function(item,index) {return (index==0)?' Linie '+item[0]+' Richtung '+item[1]+' in '+item[2]+'min':'';})"

Nun zeigt das Label folgendes an:
Linie 5 Richtung Rieselfeld in 5min

@setstate
diese Erweiterung ist echt klasse.
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 16 Oktober 2016, 09:39:57
Hallo @setstate

Ich habe nun mein neues FTUI aufgebaut und habe das Problem das sich der HTTPMOD welcher hinter Departure steckt nicht aktualisiert, fehlt ja auch das Departure Modul.

Nun suche ich eine Möglichkeit das HTTPMOD via "get" zu aktualisieren?

Ein "push" Button führt immer ein "set on" aus, jedoch kein "get".

Mein Button:
<div data-type="push"
                data-icon="fa-gear"
  data-on-background-color="#E6FF57"
  data-fhem-cmd="get+VAG+Haslach-Bad"
          class="cell">
                </div>


Bin ratlos.

Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 16 Oktober 2016, 09:46:50
Lösung gefunden:

in der Wiki zum Button wird ein "+" in die Befehlszeile eingefügt, das muss wohl weg bleiben.

Wiki:
data-fhem-cmd="set+MILIGHT_Zone1_Wohnzimmer+hue+50"

Mein Button (welcher nun funktioniert):
data-fhem-cmd="get VAG Haslach-Bad"

Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 08 Januar 2017, 16:14:39
@setstate

nach dem Update auf 2.4 geht Dein Code nicht mehr richtig.
Ich bekomme lauter Kommata an die Labels angehängt, sieht echt sch... aus.
Siehe Bilder.

Kannst Du mir sagen was ich ändern muss?

Vielen Dank
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: sinus61 am 08 Januar 2017, 18:23:13
Kennst du das Modul:
https://forum.fhem.de/index.php/topic,60046.0.html

Da brauchst du dir keine Gedanken um regex usw. machen und kannst bequem das was du willst aus Readings auslesen und wie gewünscht mit Labels darstellen.
Titel: Antw:möchte eigenes Departure bauen, nur wie?
Beitrag von: namor am 08 Januar 2017, 20:04:17
@sinus61

Danke das ist perfekt für meine Zwecke. ;)