data-type="include" mit Reading?

Begonnen von manne44, 11 September 2019, 13:59:09

Vorheriges Thema - Nächstes Thema

manne44

Hallo,
ich habe schon überall gesucht, aber nicht gefunden, dass es mit Readings in den Parametern geht:

<div data-type="include" data-url="inc_hzgTimesWD.html" data-parameter='{"DIV":"Reading1","FILENAME":"Reading2"}'></div>

Wenn nicht, dann müßte ich für viele fast gleiche Ausgaben immer neue Dateien anlegen.
Vielleicht kann mir jemand helfen und definitiv sagen, dass das nicht oder wenn ja, wie genau das denn funktioniert.
Vielen Dank.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

OdfFhem

@manne44

Was genau meinst Du mit der Aussage/Frage dass es mit Readings in den Parametern geht?

Willst Du den Namen eines Readings übergeben
oder
Willst Du den Wert eines Readings übergeben
oder
??

Um eine genauere Aussage zu treffen, wäre auch der Inhalt des Templates vermutlich hilfreich ...

manne44

#2
Hallo,
ich möchte gern keinen festen Wert übergeben, sondern einen variablen, der sich durch eine Eingabe mit data-type="select" ergibt. Dadurch kann z.B. "Bad" oder "Küche" ausgewählt werden. Nach meinem Wissensstand kann ich bei den Parametern nur Bad oder Küche fest vorgeben und keinen variablen Wert, der sich aus der Eingabe ergibt.

Hier wird ausgewählt:

<div data-type="select"
   data-device="hzgTx" data-get="device" data-set="device"
   data-items='["Bad","WohnL","WohnR","WohnV","Koch","HolzL","HolzR","Velux","Wasch","SchlafL"]'
   class="inline">
</div>


Hier wird das Template mit dem festen Wert "Bad" aufgerufen, was auch gut funktioniert, aber ich möchte auch die anderen Parameter (WohnL, WohnR usw.) übergeben können:

<div data-type="include" data-url="inc_hzgTimesWD.html" data-parameter='{"DIV":"Bad","FNAME":"A","WDAY":"0"}'></div>


und hier soll eine Eingabe in das jeweilige Reading gemacht werden:


<div class="inline">
  <div data-type="label" class="bg-green black small">1.EIN</div>
    <div data-type="select"
data-device="hzgTx" data-get="FNAME_DIV_tx1_WDAY" data-set="FNAME_DIV_tx1_WDAY"
data-items='["","00:00","00:15","00:30","00:45","01:00","01:15","01:30","01:45","02:00","02:15","02:30","02:45","03:00","03:15","03:30","03:45",
"04:00","04:15","04:30","04:45","05:00","05:15","05:30","05:45","06:00","06:15","06:30","06:45","07:00","07:15","07:30","07:45",
"08:00","08:15","08:30","08:45","09:00","09:15","09:30","09:45","10:00","10:15","10:30","10:45","11:00","11:15","11:30","11:45",
"12:00","12:15","12:30","12:45","13:00","13:15","13:30","13:45","14:00","14:15","14:30","14:45","15:00","15:15","15:30","15:45",
"16:00","16:15","16:30","16:45","17:00","17:15","17:30","17:45","18:00","18:15","18:30","18:45","19:00","19:15","19:30","19:45",
"20:00","20:15","20:30","20:45","21:00","21:15","21:30","21:45","22:00","22:15","22:30","22:45","23:00","23:15","23:30","23:45"]'
        class="inline">
  </div>
</div>


Das ist eigentlich trivial: Es wird eine Device ausgewählt und für das Teil soll ein Schaltzeitpunkt eingegeben werden. Dazu diese Templates.
Ich hoffe, dass ich den Sachverhalt ausführlich dargestellt habe.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

OdfFhem

@manne44

Bei einem include-Widget wird eine rein textuelle Ersetzung durchgeführt; es werden keinerlei Readings ausgewertet. Bei einer Parameter-Angabe von z.B. "A":"B" wird aus A immer B, nie der Wert von B.

Würde Dir aber in Deinem Fall wohl auch nichts nützen, da diese Ersetzung genau einmal und zwar beim Initialisieren der dargestellten Seite stattfindet ...

manne44

#4
@OdfFhem

Das ist mir schon klar, dass es sich um eine Such-/Ersetz-Funktion handelt, aber wenn in einer Variablen z.B.
define Wert dummy
auch nur ein Text steht, mit dem etwas ersetzt werden soll, dann sollte doch auch ein Value("Wert") gehen.

<div data-type="include" data-url="inc_hzgTimesWD.html" data-parameter='{"PARAMETER":"Value('Wert')"}'></div>

Wenn ich java script könnte, dann wäre es bestimmt ein Leichtes dieses Value dort hineinzuzaubern. Eine textuelle Ersetzung wäre es trotzdem, aber eine mit einem variablen Wert.

Aber ich sehe, dass es offenbar so nicht geht, bzw. ich nicht in der Lage bin, das so zu machen. Deshalb werde ich mir eine andere Lösung meines selbst gewählten Problems suchen müssen.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm