Ankündigung

Einklappen
Keine Ankündigung bisher.

Lüftersteuerung mit eigener Stell- / Rückmeldungsadresse für jede Stufe

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

    Lüftersteuerung mit eigener Stell- / Rückmeldungsadresse für jede Stufe

    Hallo,

    ich habe folgendes Problem:
    Meine dezentralen Meltem Lüfter habe eigene GADs / Rückmeldungs GADs für jede Stufe.Dies führt mit den Mitteln der SmartVISU zu einem Anzeigeproblem, wie ich wie folgt schildern werden:

    Im smarthome.py sieht das so aus:
    Code:
    [[ventilation]]
            [[[mode1]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/101
                knx_listen = 2/3/107
                knx_init = 2/3/107    
            [[[mode2]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/102
                knx_listen = 2/3/108
                knx_init = 2/3/108        
            [[[mode3]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/103
                knx_listen = 2/3/109
                knx_init = 2/3/109        
            [[[mode4]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/104
                knx_listen = 2/3/110
                knx_init = 2/3/110
            [[[mode5]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/105
                knx_listen = 2/3/111
                knx_init = 2/3/111
            [[[mode6]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_send = 2/3/106
                knx_listen = 2/3/112
                knx_init = 2/3/112
    Schalte ich eine Stufe, wird auf dem Rückmeldungskanal der alten Stufe zeitverzögert ein False gesendet. smarthome.PNG




    In der SmartVISU habe ich mir das nun so vorgestellt:

    Code:
    {{ basic.symbol(id|_('s1'), gad_mode1, 'Abwesenheit', icon1~'vent_ventilation.png')}}
    {{ basic.symbol(id|_('s2'), gad_mode2, 'Anwesenheit', icon1~'vent_ventilation_level_1.png') }}
    {{ basic.symbol(id|_('s3'), gad_mode3, 'Party', icon1~'vent_ventilation_level_2.png') }}
    {{ basic.symbol(id|_('s4'), gad_mode4, 'Intensiv', icon1~'vent_ventilation_level_3.png') }}
    
    {{ basic.button(id|_('switch1'), gad_mode1, '1', icon0~'vent_ventilation.png', 1, 'midi') }}
    {{ basic.button(id|_('switch2'), gad_mode2, '2', icon0~'vent_ventilation_level_1.png', 1, 'midi') }}
    {{ basic.button(id|_('switch3'), gad_mode3, '3', icon0~'vent_ventilation_level_2.png', 1, 'midi') }}
    {{ basic.button(id|_('switch4'), gad_mode4, '4', icon0~'vent_ventilation_level_3.png', 1, 'midi') }}

    Problem durch das oben geschilderte Verhalten: Kurzzeitig tauchen 2 Statussymbole auf: smartvisu.png




    Ideen wie ich das smarter hinbekomme? Im worst case sicherlich ein Widget von Grund auf neu bauen, ohne die basics zu verwenden. Und dort dann etwas JavaScript-Magic. Aber schön finde ich das auch nicht.

    Danke,

    René
    Zuletzt geändert von psilo; 18.10.2015, 15:31.

    #2
    Ich würde das mit einer Logik bauen wo ein Hilfsitem rauskommt, welche dann als Basis für einen Multibutton dient. Habe ich bei meinen Lüftern ähnlich gemacht, dort gab es die Stufen irgendwo in 0-255 Sektionen...

    Kommentar


      #3
      Hi,

      erstmal kann sh.py und smartvisu nichts dafür, dass Dein Aktor seinen Status später sendet. Es wird das angezeigt, was als state gemeldet wird.

      Um das zu lösen, würde ich eine kleine Logik in sh.py basteln, die beim setzten von irgendeinem item "modeX" alle anderen "modeY" items auf 0 setzt. Dann hast Du den Zustand auch da, wo er hin gehört - in sh.py und nicht in der Visu. Insofern würde ich das nicht mit einem neuen Widget lösen (was natürlich auch gehen würde, aber z.B. in einer 2. Visu nicht passend angezeigt werden könnte.

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Ja ich versuche es mit Logik.. bis auf eine Auswertung meiner Warnmeldungsaktoren habe ich mit den Logiken noch nicht allzuviel gemacht. Nach den ganzen Einrichtungsproblemen mit eibd und Python3 auf Synology (teilweise Neukompilierung nötig) habe ich die letzten 3 Tage erstmal die Grundsteuerungen und diverse smarthome-Plugins eingerichtet. Hatte gehofft es geht irgendwie einfacher.

        PS: Die Schuld auf smartvisu oder smarthome habe ich auch nicht geschoben, sondern nur eine einfach Frage gestellt ;-) ich sehs ja am ETS / smarthome.log wie mein Bus reagiert und verstehe auch was ich da treibe ;-))

        Kommentar


          #5
          Hi,

          noch ein Tip: Statt immer knx_listen und knx_init auf die gleich GA zu verwenden, solltest Du knx_cache auf diese GA nutzen. Spart Dir sehr viele Leseanfragen beim Start von sh.py, da immer aus dem eibd cache gelesen wird. Und knx_cache enthält das knx_listen gleich mit.

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            #6
            Die folgende Logik hat es jetzt gelöst.. einfach neues Attribut in dem ich den current_mode setze. So werden die Rückmeldungen der mode-Kanäle via KNX bedient und ich habe meine Info auf Softwarebene. Danke nochmal. Ging ja ganz easy. Und dass knx_cache das listen gleich mitmacht spart viel Schreibarbeit.. Irgendwie habe ich dazu kaum Doku gefunden und gleich durch die Python-Skripte wälzen kostet viel Zeit...

            Code:
            if sh.office.ventilation.mode1():
                sh.office.ventilation.current_mode(1)
                
            if sh.office.ventilation.mode2():
                sh.office.ventilation.current_mode(2)
                
            if sh.office.ventilation.mode3():
                sh.office.ventilation.current_mode(3)
                
            if sh.office.ventilation.mode4():
                sh.office.ventilation.current_mode(4)

            Kommentar

            Lädt...
            X