Ankündigung

Einklappen
Keine Ankündigung bisher.

smartVISU: Zusammenspiel *.conf und *.html // Erweiterung von Widgets

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

    smartVISU: Zusammenspiel *.conf und *.html // Erweiterung von Widgets

    Hallo,

    nach ersten Gehversuchen mit der smartVISU, die echt klasse ist, hab ich einige Fragen:
    • Zusammenspiel conf- und html-Dateien: in den Beispielseiten habe ich gesehen, dass man in der conf-Datei schon die widgets mitgeben kann, dann braucht man keine html-Seite für jeden Raum anzulegen. Das macht smarthome offensichtlich automatisch.
      • ist es sinnvoll, so vorzugehen oder sollte man die conf-Dateien nur für die Definition der items verwenden und alles was die Darstellung betrifft, händisch in die html-Seiten packen?
      • wenn man Änderungen an der conf-Datei und an der html-Datei macht, wird dann die html-Datei von smarthome überschrieben?
    • Erweiterung von widgets: ich habe die Möglichkeit, meine RTR zwischen Heizen und Kühlen umzustellen. Dazu würde ich gerne ein zusätzliches Icon in das rtr-Widget einbauen, das zwischen blau und rot umschaltet. Und bei den Temperaturen hätte ich gerne die Komfort-, Soll- und Ist-Temperatur.
      --> geht das, ohne dass ich die Definition des Widgets ändere? Ich möchte ja auf jeden Fall Update-fähig bleiben :-)


    Danke & Gruß
    Peter

    #2
    Ich versuchs mal ....meine Meinung

    Zitat von accelle Beitrag anzeigen
    ist es sinnvoll, so vorzugehen oder sollte man die conf-Dateien nur für die Definition der items verwenden und alles was die Darstellung betrifft, händisch in die html-Seiten packen?
    Ich denke der Generator ist eher was für kleinere Anwendungen die schnell gehen soll. Du wirst da irgendwann an "Grenzen" stoßen und mußt dann "händisch" eingreifen. Dafür sind u.U. einige eigene items doch zu "speziell". Hast Du schon mal https://code.google.com/p/smartvisu/wiki/HowToStart ab Kapitel 2.1 gelesen?


    Zitat von accelle Beitrag anzeigen
    wenn man Änderungen an der conf-Datei und an der html-Datei macht, wird dann die html-Datei von smarthome überschrieben?
    Da versteh ich die Fragestellung nicht so ganz.



    Zitat von accelle Beitrag anzeigen
    Erweiterung von widgets: ...........
    Dazu baust Du Dir ein eigenes Widget, welches Du dann beispielsweise mit {% import "widget_myRTR.html" as myRTR %} in Deine html einbaust.
    Das bleibt dann auch bei Updates unberührt.Also es wird nicht überschrieben oder sonstiges.
    Das mit den Farben geht wohl. Weiß aber nicht konkret wie. Vieleicht über die css.
    Alternativ kannst Du Dir aber alle Icons (kompletten Ordner) in verschiedenen Farben erstellen. Dazu liegt die /var/www/smartvisu/icons/photoshop.atn mit bei. Wenn Du also noch einen Ordner mit roten Icons erstellst, kanns Du Diese dann problemlos einbinden. siehe smartVISU Documentation v2.5 - "With other highlight color (green, blue)"

    Kommentar


      #3
      Zitat von accelle Beitrag anzeigen
      ist es sinnvoll, so vorzugehen oder sollte man die conf-Dateien nur für die Definition der items verwenden und alles was die Darstellung betrifft, händisch in die html-Seiten packen
      Ich finde es toll die Autogeneration zu nutzen, so werden Änderungen an den Items automatisch in der Visu abgebildet.

      Grenzen gibt es auf jeden Fall, aber ich hoffe das wird sich bald etwas ändern, bzw. es gibt hier was Interessantes:
      https://knx-user-forum.de/smarthome-...smartvisu.html

      Zitat von accelle Beitrag anzeigen
      wenn man Änderungen an der conf-Datei und an der html-Datei macht, wird dann die html-Datei von smarthome überschrieben?
      Japp, der Ordner wird bei jedem Start von sh.py komplett leer gemacht und wieder neu aufgebaut.

      Aber du kannst die Autogeneration mit deinen Eigenbau überlagern.

      Die Autogeneration wird in pages/smarthome/ erstellt. Wenn du dir deinen eigenen Ordner unter pages erstellst kannst du damit Inhalte überlagern um z.B. dort eigene CSS/Javascript/Widgets usw anzulegen.

      In smartVISU stellst du dann deinen Ordner ein, der smarthome Ordner wird automatisch eingebunden.

      Zitat von accelle Beitrag anzeigen
      Erweiterung von widgets: ich habe die Möglichkeit, meine RTR zwischen Heizen und Kühlen umzustellen. Dazu würde ich gerne ein zusätzliches Icon in das rtr-Widget einbauen, das zwischen blau und rot umschaltet. Und bei den Temperaturen hätte ich gerne die Komfort-, Soll- und Ist-Temperatur.
      • --> geht das, ohne dass ich die Definition des Widgets ändere? Ich möchte ja auf jeden Fall Update-fähig bleiben :-)
      Japp, habe ich ja gerade geschrieben.

      Kommentar


        #4
        AW: smartVISU: Zusammenspiel *.conf und *.html // Erweiterung von Widgets

        Gibt es irgendwo ein Beispiel, wie das genau geht? Ich hab mal device.html in das eigene Verzeichnis kopiert und ein dummy device gemacht. Da wurden dann aber device.rtr und device.dimmer nicht mehr gefunden. Wenn ich das File in mydevice.html umbenenne und bei sv_widget auch mydevice.dummy verwende, wird das nicht gefunden.

        Wie bekommt man das hin, dass sowohl die Standard-Widgets aus der Auslieferung wie auch selbstgeschriebene in der Autogeneration angegeben werden können?

        Über einen Tipp wäre ich dankbar.

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #5
          Danke für Eure Hinweise. Ich hab jetzt mal versucht, eine kleine conf und eine kleine html anzulegen. Irgendwo ist ein Fehler, es wird zwar alles schön angezeigt, die Icons schalten von grün nach weiß und zurück, aber das Licht schaltet nicht.

          Wenn ich in der conf auch das widget mit angebe, dann sieht meine Visualisierung anders aus, aber das Licht funktioniert. Hier die beiden entscheidenden Dateien:
          smartvisu.conf:
          Code:
          [UG]
              [[Buero]]
                  [[[Licht1]]]
                      type = bool
                      knx_dpt = 1
                      knx_listen = 10/0/1
                      knx_send = 10/0/1
                  [[[Licht2]]]
                      type = bool
                      knx_dpt = 1
                      knx_listen = 10/0/2
                      knx_send = 10/0/2
          UG.Buero.html:
          HTML-Code:
          {% extends "rooms.html" %}
          
          {% block content %}
          
              <h1><img class="icon" src='{{ icon0 }}scene_office.png'/>B&uuml;ro</h1>
          
              <div class="block">
              <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
          
                  <div data-role="collapsible" data-collapsed="false" >
                      <h3>Beleuchtung</h3>
                      <table width=100%>
                          <tr>
                              <td align=left width=50%>
                                  {{ basic.switch('UG.Buero.Licht1', 'UG.Buero.Licht1',  icon1~'light_office.png', icon0~'light_office.png') }} Schreibtisch
                              </td>
                          </tr>
                          <tr>
                              <td align=left>
                                  {{ basic.switch('UG.Buero.Licht2', 'UG.Buero.Licht2', icon1~'light_ceiling_light.png', icon0~'light_ceiling_light.png') }} Wand
                              </td>
                          </tr>
                      </table>      
                  </div>
          
              </div>
              </div>
          {% endblock %}
          Muss man das Widget immer in der conf mit angeben? Das würde ja die Flexibilität massiv einschränken. Oder hab' ich einen Denkfehler in meinem Code?

          Gruß
          Peter

          Kommentar


            #6
            Auf den ersten Blick fehlt da wohl in der *.conf ein
            Code:
            [URL="http://redaktion.knx-user-forum.de/lexikon/visu/"]visu[/URL] = yes
            das widget mußt Du im html-code mit angeben.
            In der smarthome.conf gibst Du das nur ein wenn Du die Seiten im Page-Verzeichnis unter smarthome erstellen lässt (Generator).
            Wenn Du ohne "Generator" arbeiten willst erstell am besten ein eigenens Verzeichnis unter Pages und kopier Dir Deine Seiten da rein. So wie Du das erstellte Verzeichnis benennst findest Du es dann auch im Auswahlmenu auf der Cofig-Seite wieder.

            Kommentar


              #7
              Danke für den Tipp!

              Schalter funktioniert.
              Mein eigenes RTR-Widget funktioniert.
              Umschaltung blau-rot für Kühlen-Heizen funktioniert.

              Danke an alle, die mir mit ihren Hinweisen weitergeholfen haben!

              Gruß
              Peter

              Kommentar


                #8
                Hallo Peter,

                dann hätte ich da interesse dran :-) könnten das ins release bringen!

                Gruss
                Join smartVISU on facebook. Web: smartvisu.de.
                Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                Kommentar


                  #9
                  Hallo Apollo,

                  gerne. Ist eine spezielle Ausprägung für die Serie Jung RCD 20xx. Aber Ihr könnt ja die für Euch relevanten Teile in den Standard-RTR übertragen.

                  Ich möchte noch zwei Dinge tun:
                  1. Namensgebung überarbeiten. Das ist noch ein wenig Kraut und Rüben
                  2. Programmatische Ergänzungen: Die RCDs sind von dem Typ, die den Zustand über 3 x 1 bit einstellen. Im Standard-RTR und auch in meiner aktuellen Ausprägung ist es so realisiert, dass es für jedes dieser bits einen Button/Icon gibt. Dann muss der Bediener wissen, dass Komfort=1 und Nacht/Standby=1 Komfort bedeutet. Es leuchten aber beide Symbole (Komfort / Nacht) grün. Ich würde gerne die Übertragung auf dem Bus trennen von der Darstellung im Widget. Ich stelle mir das so vor:
                    • Es gibt in der smartvisu.conf sowohl die drei Objekte für die Übertragung auf dem Bus als auch ein Objekt für die Darstellung in der Visu. Letzteres kann die verschiedenen Zustände des RTR annehmen.
                    • In der Visu wird immer nur der aktuelle Zustand dargestellt. Kommen neue Signale vom Bus, wird (durch ein Python-Script?) die Umrechnung erstellt.
                    • Will man den Zustand ändern, klickt man auf das Icon. Es geht ein Popup auf und man wählt den gewünschten Zustand. Ein (Python?) Script erledigt wieder die Umrechnung und die richtigen Bits werden auf den Bus geschickt.

                  Diese Logik würde auch für das Standard-RTR passen.

                  Frage:
                  • Wo kommen die Scripte hin?
                  • Wie werden die Items in den Scripten angesprochen?

                  Das mit dem Popup muss ich noch ausprobieren, habe ich in der Doku schon gefunden.

                  Gruß
                  Peter

                  Kommentar


                    #10
                    Hallo,

                    das mit dem Popup hab ich hinbekommen. Allerdings geht es nur mit einem festen Bild wie in der Doku beschrieben. Ich stelle mir das aber eher so vor, dass das item_status steuert, welcher Status gerade aktiv ist, und abhängig davon wird das jeweilige Icon angezeigt:

                    HTML-Code:
                    <div class="control">
                        <a href="#rcd_status_popup" data-rel="popup">
                            {{ basic.symbol('komfort', 'item_status', '', icon1~'user_available.png', 1) }}
                            {{ basic.symbol('night', 'item_status', '', icon1~'scene_night.png', 2) }}
                            {{ basic.symbol('standby', 'item_status', '', icon1~'user_away.png', 3) }}
                        </a>
                    
                        <div id="rcd_status_popup" data-role="popup" style="width:280px; height:200px;">
                            <a href="#" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Schließen</a>
                            {{ basic.switch(...........) }}
                            {{ basic.switch(...........) }}
                            {{ basic.switch(...........) }}
                        </div>
                    </div>
                    Ich bekomme aber für den oberen Teil, der das Popup ansteuern soll, gar kein Icon angezeigt :-(

                    Schön wäre ein widget, das abhängig vom Wert eines items unterschiedliche (mehr als zwei) Icons anzeigen kann.

                    Kann man ein Popup nur mit einem festen Icon ansteuern oder geht das auch so, wie ich es geplant habe? Wenn ja, wie geht es?

                    Der untere Teil ist noch nicht fertig. Um keine Verwirrung mit meinem Code zu stiften, hab ich die Punkte reingemacht.

                    Danke & Gruß
                    Peter

                    Kommentar


                      #11
                      Gibst da ne aktuelle lauffähige releasebare Version?
                      Join smartVISU on facebook. Web: smartvisu.de.
                      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                      Kommentar


                        #12
                        Hallo,

                        soll ich es hier einstellen oder Dir per PN schicken? Eine erste noch nicht releasefähige Version findest Du hier zum prüfen, ob das in Deinem Sinne ist: https://knx-user-forum.de/knx-eib-fo...lfunktion.html

                        Ich hab die Optik (zentriert) noch verbessert und man muss nur noch den Raumnamen übergeben und nicht mehr die Information ob mit oder ohne Kühlen. Die steht in der conf beim RCD-Objekt.

                        Ich komm' allerdings frühestens morgen Nachmittag dazu, es einzustellen oder zuschicken.

                        Gruß
                        Peter

                        Kommentar


                          #13
                          Ach, der ist im Hauptforum, hab ich gar nicht gesehn...
                          Join smartVISU on facebook. Web: smartvisu.de.
                          Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                          Kommentar

                          Lädt...
                          X