Autor Thema: [gelöst] data-template mit Parametern und zusammengebauten Device-Namen  (Gelesen 166 mal)

Offline wowogiengen

  • Full Member
  • ***
  • Beiträge: 162
Hallo,
ich habe mir zu diesem Code:
<div data-template="Hzg_template.html" data-parameter='{
    "par00":"Schlafzimmer",
    "par01":"HzgSetSchlafzimmer",
    "par02":"HzgStatusSchlafzimmer",
    "par03":"FileLog_HzgStatusSchlafzimmer",
    "par04":"HzgAktorSchlafzimmer",
    "par05":"Schlafzimmer"
}'>
</div>
ein HTML-Seite gebastelt, die auch brav alles anzeigt, was sie soll.
Da meine Gerätenamen alle gleich aufgebaut sind, würde es aber reichen, nur 'Schlafzimmer' als Parameter zu übergeben. Aber wie bekomme ich dann das in meine Template-Seite:

<!--
   par01 = HzgSetSchlafzimmer
   par02 = HzgStatusSchlafzimmer
   par03 = FileLog_HzgStatusSchlafzimmer
    par04 = HzgAktorSchlafzimmer
   par05 = Schlafzimmer
-->
<div class="sheet">
   <div class="row">
      <div class="cell-2 wider" data-type="thermostat" data-device="par01">
      </div>
<div class="cell" >
    <div data-type="level" data-device='par02'  data-get='humidity'
        data-limits='["[12]*[0-9]","[3456][0-9]","([789][0-9]|100)"]'
        data-colors='["#dd3366","#ffcc00","#55aa44"]'
        class="horizontal left" >
    </div>
    <div data-type="label" data-device='par02'
         data-get='humidity'
         data-unit="%" class="top-space left"></div>
</div>
<div class="cell" >
    <div data-type="level" data-device='PWMRBuero' data-get='energyusedp'
        data-limits='["20","70","95"]'
        data-colors='["#dd3366","#ffcc00","#55aa44"]'
        class="horizontal left" >
    </div>
hier kommt der Code, wo par05 den Devicenamen PWMR ergänzen soll zu PWMRSchlafzimmer:

    <div data-type="label" data-device='PWMR"par05"' data-get='energyusedp' data-unit="%"
         class="top-space left">
   </div>
</div>
      <div class="cell-2 wider">
         <div data-type="switch"
            data-icon="fa-power-off"
            data-background-icon="fa-circle-thin"
            data-device="par04"
            data-on-color="green"
            data-on-background-color="orange"
            data-off-color="red"
            data-off-background-color="orange">
         </div>
      </div>
      <div class="cell-4 wider border-gray" data-type="popup">
         <div class="wider bg-lightgray"
            data-type="simplechart"
            data-device="par02"
            data-logdevice="par03"
            data-columnspec="4:temperature"
            data-minvalue="15"
            data-maxvalue="30"
            data-height="50"
            data-width="150"
            data-yticks="5">
         </div>
         <div class="dialog">
            <div
               data-caption="Temperatur"
               data-yunit="°C"
               data-type="simplechart"
               data-device="par02"
               data-logdevice="par03"
               data-columnspec="4:temperature" data-minvalue="15" data-maxvalue="30" data-yticks="1"
               data-height="250"
               data-width="500"
               >
            </div>
         </div>
      </div>
      <div class="cell-4 wider border-gray" data-type="popup">
         <div class="wider bg-lightgray"
            data-type="simplechart"
            data-device="par02"
            data-logdevice="par03"
            data-columnspec="4:humidity"
            data-minvalue="0"
            data-maxvalue="100"
            data-height="50"
            data-width="150"
            data-yticks="25">
         </div>
         <div class="dialog">
            <div
               data-type="simplechart"
               data-device="par02"
               data-logdevice="par03"
               data-columnspec="4:humidity" data-minvalue="0" data-maxvalue="100" data-yticks="25" >
            </div>
         </div>
      </div>
   </div>
</div>

« Letzte Änderung: 10 Dezember 2017, 19:49:42 von wowogiengen »

Offline wowogiengen

  • Full Member
  • ***
  • Beiträge: 162
Antw:data-template mit Parametern und zusammengebauten Device-Namen
« Antwort #1 am: 10 Dezember 2017, 19:47:54 »
Offenbar reicht es, wenn man
die Parameternamen einfach zusammenschreibt:

<div class="cell-2 wider" data-type="thermostat" data-device='HzgSetpar05'></div>
und par05 wird dann so übergeben:
<div data-template="Hzg_template.html" data-parameter='{
"par00":"Schlafzimmer",
"par01":"HzgSetSchlafzimmer",
"par02":"HzgStatusSchlafzimmer",
"par03":"FileLog_HzgStatusSchlafzimmer",
"par04":"HzgAktorSchlafzimmer",
"par05":"Schlafzimmer"
}'>
</div>

Offline Standarduser

  • Full Member
  • ***
  • Beiträge: 472
    • indiBit.de
Offenbar reicht es, wenn man
die Parameternamen einfach zusammenschreibt:

<div class="cell-2 wider" data-type="thermostat" data-device='HzgSetpar05'></div>
und par05 wird dann so übergeben:
<div data-template="Hzg_template.html" data-parameter='{
"par00":"Schlafzimmer",
"par01":"HzgSetSchlafzimmer",
"par02":"HzgStatusSchlafzimmer",
"par03":"FileLog_HzgStatusSchlafzimmer",
"par04":"HzgAktorSchlafzimmer",
"par05":"Schlafzimmer"
}'>
</div>

Du könntest auch par05 weglassen und stattdessen par00 verwenden, die sind ja beide gleich.
Wenn du alle Devices nach dem gleichen Schema benamst reicht auch in Summe nur ein Parameter.
Das hatten wir hier kürzlich erst. Einfach im Forum mal etwas runter scrollen.

Offline wowogiengen

  • Full Member
  • ***
  • Beiträge: 162
Hallo Standarduser,
da hast du wieder recht, hab ich offensichtlich übersehen. par00 sollte als Text für das Label dienen, und nicht als Bezeichnung für die Geräte... Deswegen hatte ich par05 genommen.
Kannst du mir den Link zu
Zitat
Das hatten wir hier kürzlich erst. Einfach im Forum mal etwas runter scrollen.
geben? dann muss ich nicht so lange suchen ;D

Viele Grüße Wolfgang


 

decade-submarginal