Ankündigung

Einklappen
Keine Ankündigung bisher.

Fragen zu Templates

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fragen zu Templates

    Gibt es Einschränkungen, was bzw. wie viel in einem Template enthalten sein darf?
    Ich habe Tests gemacht mit 2x Switch in einem Template, davon wurde nur der erste dargestellt.
    In einem weiteren Test habe ich eine Group aus zwei Switches angelegt und danach in ein Template kopiert. Ergebnis: Eine leere Group wurde angezeigt.

    Laut Handbuch ist ein Template ja gerade dafür da, einen Ausschnitt aus mehreren Widgets mehrfach zu nutzen. Gibt es Einschränkungen, auf die ich zufällig gestoßen bin?
    Angehängte Dateien

    #2
    Einschränkungen gibt es da nicht, zumindest keine bewusst eingebauten. Theoretisch kann man da komplette Pages in ein Template packen. Ein Screenshot vom XML-Editor hilft da allerdings wenig weiter, da brauche ich schon den richtigen Inhalt der Config-Datei. Die kannst Du im Manager einfach runterladen, oder im Text-Editor öffnen und den Inhalt dann kopieren.
    Gruß
    Tobias

    Kommentar


      #3
      Hier ist der erzeugte XML-Code, alles aus dem (Klick-)Editor heraus:
      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <pages lib_version="8" design="pure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../visu_config.xsd">
        <meta>
          <plugins/>
          <mappings/>
          <stylings/>
          <statusbar>
            <status type="html">&lt;img src="resource/icon/comet_64_ff8000.png" alt="CometVisu" /&gt; by &lt;a href="https://www.cometvisu.org/"&gt;CometVisu.org&lt;/a&gt;
                - &lt;a href="manager.php"&gt;Config-Manager&lt;/a&gt;
                - &lt;a href=".?forceReload=true"&gt;Reload&lt;/a&gt;</status>
            <status type="html" condition="!edit" hrefextend="config">- &lt;a href="editor/"&gt;Edit&lt;/a&gt;</status>
            <status type="html" condition="edit" hrefextend="config">- &lt;a href="."&gt;normal Mode&lt;/a&gt;</status>
            <status type="html">- &lt;a href="?config=demo"&gt;Widget Demo&lt;/a&gt;</status>
            <status type="html" hrefextend="config">- &lt;a href="check_config.php"&gt;Check Config&lt;/a&gt;</status>
          </statusbar>
          <templates>
            <template name="Test">
              <group name="group as template">
                <layout colspan="12"/>
                <switch>
                  <label>Licht Flur</label>
                  <address transform="DPT:1.001">2/0/0</address>
                </switch>
                <switch>
                  <label>Licht Küche</label>
                  <address transform="DPT:1.001">2/0/220</address>
                </switch>
              </group>
            </template>
          </templates>
        </meta>
        <page name="Start">
          <group name="group">
            <layout colspan="12"/>
            <switch>
              <label>Licht Flur</label>
              <address transform="DPT:1.001">2/0/0</address>
            </switch>
            <switch>
              <label>Licht Küche</label>
              <address transform="DPT:1.001">2/0/220</address>
            </switch>
          </group>
          <line/>
          <template name="Test"/>
        </page>
      </pages>
      Ergänzung:
      Weitere Tests haben ergeben, dass der "Schuldige" offenbar das layout-Element (pages/meta/template/group/layout) ist.
      Sobald ich dieses Element hinzufüge, ist der Inhalt der group nicht mehr sichtbar. Lösche ich es wieder, erscheint die Gruppe.
      In der group ohne template funktioniert es wie erwartet. Über layout kann ich z. B. die Größe der group bestimmen, das funktioniert.

      Übrigens ist es für diesen Fehler(?) egal, ob und was ich unter layout eintrage. Hier habe ich verschiedene colspan (0, 2, 6, 8, 10, 12) und rowspan (0, 2, 4) ausprobiert sowie alles auf "not set" gelassen. Die group als Teil des templates leer, d.h. die beiden switches werden nicht dargestellt. Das layout der group direkt unter page, also ohne template, funktioniert hingegen.
      Zuletzt geändert von gurumeditation; 11.04.2019, 21:43. Grund: Ergänzung nach weiteren Tests

      Kommentar


        #4
        Ja der Bug ist bereits gefixt und wird Teil des 0.11.1 Releases (in den Docker-Containern ist der schon drin). Falls Du also kein Docker benutzt musst Du Dich noch ein wenig in Geduld üben (sollte aber nicht mehr zu lang dauern).
        Gruß
        Tobias

        Kommentar


          #5
          Danke! Freut mich dass es in der nächsten Version schon behoben ist. Muss dann mal den Container erneuern.

          Kommentar


            #6
            Update: mit der heutigen 0.11.1 ist der Bug gefixt. Prinzipiell kann der Thread auch gelöscht werden, da er keine für die Zukunft mehr relevanten Inhalt hat.

            Kommentar


              #7
              Hi,

              bei mir läuft das Release 0.11.1 immer noch nicht korrekt mit den Templates. Siehe Screenshot 0.11.1 vs. 0.11.RC2.

              Unbenannt.png

              Kommentar


                #8
                Hast du die Seite neu geladen? Ich musste das manuell machen, da die alte Seite mit dem Fehler noch im Cache war.
                Bei mir hat es funktioniert.

                Kommentar


                  #9
                  Hi,

                  ich bin der Meinung das gemacht zu haben, benutze auch den forceReload Parameter. Auch wenn ich einen komplett anderen Browser verwende besteht das Problem bei mir.

                  mfg René

                  Kommentar


                    #10
                    Der interne Cache der Cometvisu wäre auch noch ein Kandidat. Den kann man mit dem Parameter enableCache=invalid löschen. https://www.cometvisu.org/CometVisu/...ing-aktivieren
                    Gruß
                    Tobias

                    Kommentar


                      #11
                      Alles klar danke für eure Hilfe ich werde heute Abend testen und berichten :-)

                      Kommentar


                        #12
                        Hi,

                        bringt bei mir leider keinen Erfolg. Einzelne Templates funktionieren jedoch. Trotzdessen ein Template wird nur zur Hälfte angezeigt:

                        Code:
                          <templatename="Thermostat">
                          <groupnowidget="true">
                          <layoutcolspan="12"colspan-m="12"colspan-s="12"/>
                          <switchon_value="Auto"off_value="Manu"mapping="Mapping_Heizung_Modus"bind_click_to_widget="true">
                          <layoutcolspan="6"colspan-m="6"colspan-s="6"/>
                          <label><iconname="temp_control"/>Soll</label>
                          <addresstransform="OH:string">{{ Heizung_Modus_Item }}</address>
                          </switch>
                            <slidemin="7"max="30"step="1"send_on_finish="true"format="%d°C"styling="Styling_BlueGreyRed_Heating"flavour="sodium">
                          <layoutcolspan="6"colspan-m="6"colspan-s="6"/>
                          <addresstransform="OH:number">{{ Heizung_Item }}</address>
                          </slide>
                          </group>
                          <!-- Raumtemperatur / Diagramm -->
                          <groupnowidget="true">
                          <layoutcolspan="12"colspan-m="12"colspan-s="12"/>
                          <diagram_infoformat="%.1f °C"series="day"period="1"refresh="300"tooltip="true"gridcolor="#707070"legendposition="nw"styling="Styling_BlueGreyRed_Heating"bind_click_to_widget="true">
                          <layoutcolspan="6"colspan-m="6"colspan-s="6"/>
                          <label><iconname="temp_inside"/>Ist</label>
                          <axismin="12"position="left"unit="°C"max="28"label="Temperatur">Temperatur</axis>
                          <axismin="0"position="right"unit="%"max="100"label="Luftfeuchtigkeit">Luftfeuchtigkeit</axis>
                          <rrdcolor="blue"yaxis="Luftfeuchtigkeit"label="Luftfeuchtigkeit">mysql:{{ Luftfeuchtigkeit_Item }}</rrd>
                          <rrdcolor="red"yaxis="Temperatur"label="Temperaturverlauf">mysql:{{ Temperatur_Item }}</rrd>
                          <addresstransform="OH:number">{{ Temperatur_Item }}</address>
                          </diagram_info>
                          <!-- Raumluftfeuchtigkeit -->
                          <infoformat="%d%%"styling="Styling_BlueGreyRed_Humidity">
                          <layoutcolspan="6"colspan-m="6"colspan-s="6"/>
                          <label><iconname="weather_humidity_rel"/></label>
                          <addresstransform="OH:number">{{ Luftfeuchtigkeit_Item }}</address>
                          </info>
                          </group>
                          </template>
                        Code:
                         <!-- Heizungs Gruppe -->
                          <groupname="Heizungsthermostat">
                          <layoutcolspan="12"colspan-m="12"colspan-s="12"/>
                          <templatename="Thermostat">
                          <valuename="Heizung_Modus_Item">Heizung_Modus_Wohnzimmer</value>
                          <valuename="Heizung_Item">Heizung_Wohnzimmer</value>
                          <valuename="Temperatur_Item">Temperatur_Wohnzimmer</value>
                          <valuename="Luftfeuchtigkeit_Item">Luftfeuchtigkeit_Wohnzimmer</value>
                          </template>
                          </group>
                        Das andere gar nicht:
                        Code:
                          <templatename="Widget Raumthermostat">
                          <!-- Thermostat -->
                          <layoutcolspan="12"colspan-m="12"colspan-s="12"/>
                          <!-- Raumtemperatur -->
                          <diagram_infoformat="%.1f °C"series="day"period="1"refresh="300"tooltip="true"gridcolor="#707070"legendposition="nw"styling="Styling_BlueGreyRed_Heating"bind_click_to_widget="true">
                          <layoutcolspan="3"colspan-m="3"colspan-s="3"/>
                          <label><iconname="{{ Icon }}"/></label>
                          <axismin="12"position="left"unit="°C"max="28"label="Temperatur">Temperatur</axis>
                          <axismin="0"position="right"unit="%"max="100"label="Luftfeuchtigkeit">Luftfeuchtigkeit</axis>
                          <rrdcolor="blue"yaxis="Luftfeuchtigkeit"label="Luftfeuchtigkeit">mysql:{{ Luftfeuchtigkeit_Item }}</rrd>
                          <rrdcolor="red"yaxis="Temperatur"label="Temperaturverlauf">mysql:{{ Temperatur_Item }}</rrd>
                          <addresstransform="OH:number">{{ Temperatur_Item }}</address>
                          </diagram_info>
                            <!-- Raumluftfeuchtigkeit -->
                          <infoalign="center"format="%d%%"styling="Styling_BlueGreyRed_Humidity">
                          <layoutcolspan="1.5"colspan-m="1.5"colspan-s="1.5"/>
                          <addresstransform="OH:number">{{ Luftfeuchtigkeit_Item }}</address>
                          </info>
                            <switchon_value="Auto"off_value="Manu"mapping="Mapping_Heizung_Modus"bind_click_to_widget="true">
                          <layoutcolspan="2"colspan-m="2"colspan-s="2"/>
                          <addresstransform="OH:string">{{ Heizung_Modus_Item }}</address>
                          </switch>
                            <textalign="center">
                          <layoutcolspan="1.5"colspan-m="1.5"colspan-s="1.5"/>
                          <label><iconname="temp_control"/>Soll</label>
                          </text>
                            <infotriggeruplabel="+"upvalue="0.5"downlabel="-"downvalue="-0.5"styling="Styling_BlueGreyRed_Heating"align="center"infoposition="middle"format="%.1f °C"change="absolute"min="15"max="25">
                          <layoutcolspan="4"colspan-m="4"colspan-s="4"/>
                          <addresstransform="OH:number">{{ Heizung_Item }}</address>
                          </infotrigger>
                          </template>
                        Code:
                        <pagename="Thermostate"visible="false">  <!-- Heizungs Gruppe -->
                          <groupname="Raumthermostate"nowidget="true">
                            <templatename="Widget Raumthermostat">
                          <valuename="Icon">scene_livingroom</value>
                          <valuename="Heizung_Modus_Item">Heizung_Modus_Wohnzimmer</value>
                          <valuename="Heizung_Item">Heizung_Wohnzimmer</value>
                          <valuename="Temperatur_Item">Temperatur_Wohnzimmer</value>
                          <valuename="Luftfeuchtigkeit_Item">Luftfeuchtigkeit_Wohnzimmer</value>
                          </template>
                        mfg René
                        Zuletzt geändert von rene54321; 15.04.2019, 16:18.

                        Kommentar


                          #13
                          Das ist auch keine Valide-Config. Das erste Layout-Element im Template steht da ja "frei". Ich gehe mal davon aus, dass es nicht funktioniert, wenn man das so zerpflückt, wie Du das da gemacht hast (das Layout ins template und dieses dann innerhalb einer Group benutzen). Zumindest zeigt mir das mein Editor als Fehler in der Config an.
                          Gruß
                          Tobias

                          Kommentar


                            #14
                            Das mag allerdings auch einfach ein weiterer Bug sein. Kann ich noch nicht genauer sagen. Ich habe gerade die Vermutung, dass bei den Templates nur das erste Kind-Element genutzt wird (und einfach nur Layout zeigt ja erstmal nichts an).
                            Gruß
                            Tobias

                            Kommentar


                              #15
                              Komischerweise ging ja alles bei der älteren Version :-(

                              Kommentar

                              Lädt...
                              X