Ankündigung

Einklappen
Keine Ankündigung bisher.

KWL-/Lüftung-Seite - Beispiele gesucht

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

    KWL-/Lüftung-Seite - Beispiele gesucht

    Hallo zusammen,

    habe gestern das ComfoAir-Plugin in Betrieb genommen und möchte das natürlich auch in der Visualisierung einbinden.

    Daher bin ich auf der Suche nach Inspiration wie ihr es gemacht habt...

    Über die Suche habe ich weder Bilder noch Beispiele oder gar Widgets finden können
    cu Yfkt5A
    DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
    microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

    #2
    Habe dezentrale Lüfter mit 4 Stufen die den Wärmetauscher involvieren, sowie Zu- und Abluftbetrieb. Sieht dann wie auf dem Bild aus. Hab ne Box wo ich auch noch einfache Rolladensteuerung und Stromverbrauch / Schaltung vom PC einblende:
    lüftung.PNG

    Code vom widget:
    Code:
    {% macro switch_full (id, gad_mode_1, gad_mode_2, gad_mode_3, gad_mode_4, gad_mode_5, gad_mode_6, txt) %}
        {% import   "basic.html" as basic %}
    
        /** Design */
        <div class="blind">
            <table align="center" cellpadding="0" width="100%" style="text-align:left;">   
                
            <tr>
                        <th width="98px" valign="top">{% if txt %} {{ txt }} {% else %}Lüftung{% endif %}</th>                   
                        <td width="200px">
                        
                        <span data-role="controlgroup" data-type="horizontal">  
                            
                            <a id="{{ uid(page, id|_('switch1_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_1 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s1_0'), gad_mode_1, '', icon0~'vent_ventilation.png', 0) }}
                                {{ basic.symbol(id|_('s1_1'), gad_mode_1, '', icon1~'vent_ventilation.png', 1) }}        
                            </a>
                            <a id="{{ uid(page, id|_('switch2_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_2 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s2_0'), gad_mode_2, '', icon0~'vent_ventilation_level_1.png', 0) }}
                                {{ basic.symbol(id|_('s2_1'), gad_mode_2, '', icon1~'vent_ventilation_level_1.png', 1) }}        
                            </a>
                            <a id="{{ uid(page, id|_('switch3_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_3 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s3_0'), gad_mode_3, '', icon0~'vent_ventilation_level_2.png', 0) }}
                                {{ basic.symbol(id|_('s3_1'), gad_mode_3, '', icon1~'vent_ventilation_level_2.png', 1) }}        
                            </a>
                            <a id="{{ uid(page, id|_('switch4_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_4 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s4_0'), gad_mode_4, '', icon0~'vent_ventilation_level_3.png', 0) }}
                                {{ basic.symbol(id|_('s4_1'), gad_mode_4, '', icon1~'vent_ventilation_level_3.png', 1) }}        
                            </a>
                          
                        </span>
                        <br/>
                        <span data-role="controlgroup" data-type="horizontal">                          
                            
                            <a id="{{ uid(page, id|_('switch5_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_5 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s5_0'), gad_mode_5, '', icon0~'vent_ambient_air', 0) }}
                                {{ basic.symbol(id|_('s5_1'), gad_mode_5, '', icon1~'vent_ambient_air', 1) }}        
                            </a>
                            <a id="{{ uid(page, id|_('switch6_dual_alt')) }}" data-widget="basic.button" data-item="{{ gad_mode_6 }}" data-val="1"
                                    class="ui-{{ type|default('mini') }}" data-role="button" data-inline="true"
                                    data-iconpos="center">
                                {{ basic.symbol(id|_('s6_0'), gad_mode_6, '', icon0~'vent_exhaust_air', 0) }}
                                {{ basic.symbol(id|_('s6_1'), gad_mode_6, '', icon1~'vent_exhaust_air', 1) }}        
                            </a>
                          
                        </span>
                            
                        </td>                       
            </tr>                
            </table>
        </div>
    {% endmacro %}

    Kommentar


      #3
      Danke für den Input.

      Das mit dem Lüfterstufen wäre evtl was für die Startseite.

      Für die eigene Lüftungsseite hätte ich aber gerne noch die Details(Lüfterstufe, Statusmeldungen Filter und Fehler, Betriebsstunden, Temperaturen und Plots dazu).

      evtl. liest das ja doch noch jemand der da noch was anderes realisiert hat...
      cu Yfkt5A
      DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
      microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

      Kommentar


        #4
        So sieht es bei mir aus. Habe eine Zehnder 350 und die schaltet soweit ich weiss den Bypass nur über die Komforttemp. Deshalb habe ich das so gelöst, dass ich mir die Temp per Visu selber umstellen kann und entsprechend wird der Bypass geschaltet.
        Die Zeitschaltuhr nutzen wir um eine "Nachtabsenkung" zu machen, da ein Lüftungsauslass über der Couch sitzt.
        Eigentlich hat Zehnder die Stufen Abwesend und 1-3 genannt, intern kommen da aber die Werte 1 (abwesend) bis 4 (Stufe 3) raus die ich dann 1:1 übernehme und mir die Umrechnung spare.
        Die Peaks sind die "Duschvorgänge" im Haus (manuelles Triggern der Stufe 4 für 30min, sh.py regelt das dann automatisch auf die vorherige Stufe wieder runter).
        Angehängte Dateien
        ++ Der ultimative ETS Schnellkurs ++
        KNX und die ETS vom Profi lernen
        www.ets-schnellkurs.de

        Kommentar


          #5
          hhhc
          Hallo hhhc, habe eine 550 und möchte die auch einbinden. Deine Seite gefällt mir sehr gut, daher meine Frage, ob du sie zur Verfügung stellen würdest?

          Kommentar


            #6
            Zitat von edespace Beitrag anzeigen
            hhhc
            Hallo hhhc, habe eine 550 und möchte die auch einbinden. Deine Seite gefällt mir sehr gut, daher meine Frage, ob du sie zur Verfügung stellen würdest?
            Die Seite nutzt einige adaptierte Widgets, die ich heute leider nicht alle hier reinstellen kann. Das HTML Grundgerüst schonmal.

            Code:
            {% import "widgets/widget_uzsu.html" as uzsu %}
            {% import "widgets/widget_lueftung_tr.html" as ltr %}
            
            {% extends "base.html" %}
            
            {% block sidebar %}
            
            {% include "/navigation_rooms.html" %}
            
            {% endblock %}
            
            {% block content %}
            
            <h1><img class="icon" src='{{ icon0 }}vent_ventilation_level_0.png'/>Lüftungsstufen</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>Lüftung </h3>
                  <table width=100% height=90%>
                    <tr align=left height=45%>
                      <td align=left valign=center style="padding-left: 10px;" width=48 heigth="45%" >
                        Aktuelle Stufe:<br>
                        <center><font size="104">
                        {{ basic.value('lueftungsstufe', 'kwl.level', '') }} {{ uzsu.uzsu_icon('kwl.level.uzsu', 'kwl.level.uzsu', 'Lüftungsstufe', '0', '', '', 'num') }}
                        {{ basic.switch('Boost', 'kwl.level.boost', icon1~'vent_ventilation_level_3.png', icon0~'vent_ventilation_level_3.png') }}
                        </font>
                      </td>
                    </tr>
                    <tr>
                        <td>
                          <table width=100%>
                            <tr>
                              <td align=left colspan=4>
                                L&uuml;ftungsstufe Sollwert:
                              </td>
                            </tr>
                            <tr>
                              <td align=left width=25%>
                                {{ basic.switch('kueche_lueftung_stufe0', 'kwl.level', icon1~'vent_ventilation_level_0.png', icon0~'vent_ventilation_level_0.png', 1, -1) }} <br/>Abwesend
                              </td>
                              <td align=left width=25%>
                                {{ basic.switch('kueche_lueftung_stufe1', 'kwl.level', icon1~'vent_ventilation_level_1.png', icon0~'vent_ventilation_level_1.png', 2, -1) }} <br/>Stufe&nbsp;2
                              </td>
                              <td align=left width=25%>
                                {{ basic.switch('kueche_lueftung_stufe2', 'kwl.level', icon1~'vent_ventilation_level_2.png', icon0~'vent_ventilation_level_2.png', 3, -1) }} <br/>Stufe&nbsp;3
                              </td>
                              <td align=left width=25%>
                                {{ basic.switch('kueche_lueftung_stufe3', 'kwl.level', icon1~'vent_ventilation_level_3.png', icon0~'vent_ventilation_level_3.png', 4, -1) }} <br/>Stufe&nbsp;4 
                              </td>
                            </tr>
                          </table>
                          
                        </td>
                      </tr>
                  </table>
                </div>
              </div>
            </div>
            
            <div class="block">
                <div class="ui-bar-c ui-li-divider ui-corner-top">Komforttemperatur (Bypass)</div>
                <div class="ui-fixed ui-body-a ui-corner-bottom" style="min-height: 50px">
                    {{ ltr.ltr('lueftung_komforttemperatur', 'Wenn innen wärmer und aussen kälter als Komforttemperatur, dann wird der Wärmetauscher umgangen (Bypass). ', 'kwl.temp.comfort', 'kwl.temp.comfort', 1, 'kwl.bypass.bool') }}
                </div>
            </div>
            
            <br clear=all>
            
            <div class="block full-width">
                <div class="ui-bar-c ui-li-divider ui-corner-top">Werte</div>
                <div class="ui-fixed ui-body-a ui-corner-bottom" style="min-height: 50px">
                  <table height="90%" width="80%" align="center">
                    <tr>
                      <td width="35%" align="left">
                        Abluft 
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_ab_level', 'kwl.extractair.level', '%') }} ({{ basic.float('luft_ab_rpm', 'kwl.extractair.rpm', 'rpm') }})
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Zuluft
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_zu_level', 'kwl.supplyair.level', '%') }} ({{ basic.float('luft_zu_rpm', 'kwl.supplyair.rpm', 'rpm') }})
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Komforttemperatur
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('comf_temp_bypass', 'kwl.temp.comfort', '°C') }}
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Stufe 1
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_abw', 'kwl.operatinghours.away', 'h') }} 
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Stufe 2
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_stuf2', 'kwl.operatinghours.low', 'h') }}
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Stufe 3
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_stuf3', 'kwl.operatinghours.medium', 'h') }}
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Stufe 4
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('luft_stuf4', 'kwl.operatinghours.high', 'h') }}
                      </td>
                    </tr>
                    <tr>
                      <td width="35%" align="left">
                        Bypass
                      </td>
                      <td width="65%" align="right">
                        {{ basic.value('l3sad6', 'kwl.operatinghours.bypass', 'h') }} 
                      </td>
                    </tr>
                  </table>    
                </div>
            </div>
            
            <div class="block full-width">
              <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>Lüftungsstufe/ Bypass</h3>
                    {{ plot.period('p1', ['kwl.level', 'kwl.bypass.bool'], 'max', '96h', '', '0', '4', '', ['Lüftungsstufe', 'Bypass'], '', ['stair','stair']) }}
                    
                </div>
              </div>
            </div>    
            <div class="block full-width">
              <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>Temperaturen</h3>
                    {{ plot.period('p3', ['kwl.temp.freshair', 'kwl.temp.supplyair', 'kwl.temp.extractair', 'kwl.temp.exhaustair', 'Aussen.temperatur'], 'avg', '24h', '', '', '', '', ['Aussenluft', 'Zuluft', 'Abluft', 'Fortluft','Außentemperatur']) }}
                </div>
              </div>
            </div>    
            
            
            {% endblock %}
            ++ Der ultimative ETS Schnellkurs ++
            KNX und die ETS vom Profi lernen
            www.ets-schnellkurs.de

            Kommentar


              #7
              Hallo hhhc,

              danke erstmal, vielleicht kannst Du ja die widget_lueftung_tr.html irgendwann reinstellen. Du hast unter kwl.level noch ein boost, ist das identisch mit der level3?

              Kommentar


                #8
                Zitat von edespace Beitrag anzeigen
                Hallo hhhc,

                danke erstmal, vielleicht kannst Du ja die widget_lueftung_tr.html irgendwann reinstellen. Du hast unter kwl.level noch ein boost, ist das identisch mit der level3?
                das boost ist das icon neben der uzsu und triggert eine logik, die die kwl auf stufe 4 und nach 30 min auf die vorherige stufe zurücksetzt.
                die stufe4 darunter ist das dauerhafte schalten.

                dss widget ist letztlich nur ein adaptierter RTR widget wo ich alles unnötige rausgeschmissen habe. nix besonderes.
                ++ Der ultimative ETS Schnellkurs ++
                KNX und die ETS vom Profi lernen
                www.ets-schnellkurs.de

                Kommentar


                  #9
                  Hier mal ein Beispiel von mir, ist auch eine Zehnder 350. Ich hatte das Widget hier Forum gefunden und für die Zehnder adaptiert; ist bis jetzt allerdings nur rudimentär umgesetzt.

                  Greetinx,
                  Udo
                  You do not have permission to view this gallery.
                  This gallery has 1 photos.

                  Kommentar


                    #10
                    Sieht interessant aus. Wie habt ihr die Zehnder allgemein an den Bus bekommen?

                    Kommentar


                      #11
                      Zitat von sobeos Beitrag anzeigen
                      Wie habt ihr die Zehnder allgemein an den Bus bekommen?
                      Bei mir so: RS232/IP-Umsetzer an Zehnder, smarthome.py mit Zehnder-Plugin.

                      Greetinx,
                      Udo

                      Kommentar


                        #12
                        Vielen Dank Udo für die schnelle Antwort!
                        Gibt Zehnder alle Informationen Bypass, Lüfterstärke, Messwerte, ...) über RS232 aus? Lohnt das ComfoWay V2 Modul folglich nicht?

                        Kommentar


                          #13
                          Zitat von umatz Beitrag anzeigen
                          Hier mal ein Beispiel von mir, ist auch eine Zehnder 350. Ich hatte das Widget hier Forum gefunden und für die Zehnder adaptiert; ist bis jetzt allerdings nur rudimentär umgesetzt.

                          Greetinx,
                          Udo
                          Wie hast du die Grafik dort eingefügt? Auch dass Variablen anzeigt werden, wo sie sollen...
                          Sieht interessant aus.
                          Gruß
                          Christian

                          Kommentar


                            #14
                            Zitat von sobeos Beitrag anzeigen
                            Gibt Zehnder alle Informationen Bypass, Lüfterstärke, Messwerte, ...) über RS232 aus? Lohnt das ComfoWay V2 Modul folglich nicht?
                            Die genannten Werte geben die Zehnder-Lüftungen über die serielle Schnittstelle aus, an der auch die Bedieneinheit (CC Ease) angeschlossen ist. Das ComfoWay Modul kenne ich nicht. Zur seriellen Anbindung gibt's hier im Forum eine Reihe von Projekten (HS, wiregate, OpenHab, smarthome.py).

                            Greetinx,
                            Udo

                            Kommentar


                              #15
                              Zitat von Polecat Beitrag anzeigen
                              Wie hast du die Grafik dort eingefügt? Auch dass Variablen anzeigt werden, wo sie sollen...
                              Sieht interessant aus.
                              Das Widget für die smartVisu stammt vom User tombombadil, ist ursprünglich für Helios KWL implementiert und ich habe es mir auf meine Zehnder Lüftung angepasst.

                              Greetinx,
                              Udo

                              Kommentar

                              Lädt...
                              X