Ankündigung

Einklappen
Keine Ankündigung bisher.

Functionblocks - Texte auf dem Glastaster darstellen

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

    #16
    willisurf, coco und traxanos: Sorry, aber ihr redet ein Problem herbei, dass der User nicht hat. Er hat die Ausgabe vom Timer im Glastaster, das ist gut, da braucht man weder einen Zustandsautomaten noch neue Funktionen im Logikmodul.

    Varone3000 will doch nur, dass nach einem manuellen Stop der Heizung wieder "Badheizer" im Display steht. Varone3000, bestätigst Du bitte, dass es Dir darum geht?

    Wie ich Dich bisher verstanden habe:
    1. Während der Timer läuft, siehst Du die Zeit im Display (check)
    2. Wenn der Timer fertig ist, siehst Du schon "Badheizer" im Display (check)
    3. Wenn Du manuell stoppst (am GT den Umschalttaster betätigst), bleibt das Display leer (noch offen).
    Letzter Versuch, die Lösung für den letzten Punkt zu erklären (hab es oben schon 2 mal gemacht):
    Zitat von Varone3000 Beitrag anzeigen
    Das KO 1225 sendet dabei den Text auf die Gruppenadresse, auf die das KO 119 des Glastasters reagiert.
    Das hast Du oben geschrieben. Um diese GA geht es jetzt. Du definierst einen Logikkanal, Logik ist ein OR mit einem Eingang, der Eingang ist invertiert aktiv, DPT1. Der Ausgang ist DPT 16, sendet bei EIN den Text "Badheizer", bei AUS sendet er nichts. Das KO vom Ausgang wird mit der GA verbunden, die auch mit KO 1225 und KO 119 verbunden ist. Der Eingang wir mit der GA verbunden, die mit dem Umschalttaster vom GT verbunden ist.

    Ist total straight forward: Taste sendet 0, Logikkanal bekommt eine 1 (weil Eingang invertiert), sendet sein EIN - also den Text "Badheizer", der Glastaster stellt das dar.

    Gruß, Waldemar

    P.S.: Falls der Timer am Ende nicht "Badheizer" sendet, dann verbindest Du sein Ende-Signal (ist ja auch eine 0)
    Zitat von Varone3000 Beitrag anzeigen
    Sie kann am Ende eine "0" senden.
    auch mit dem Eingang 1 vom Logikmodul.
    OpenKNX www.openknx.de

    Kommentar


      #17
      Aber wenn wir schon dabei sind

      Zitat von willisurf Beitrag anzeigen
      Wenn Du mit 15 Texten für die Zeit plus Text „Hühnerleiter“, also 16 Zuständen auskommst, ist die State Engine eine Lösung.
      Er hat im Raumcontroller ja 5 StateEngines... 45 Minuten bekommt man ziemlich sicher mit 3 Stateengines abgebildet - minutengenau mit Text .

      Gruß, Waldemar


      OpenKNX www.openknx.de

      Kommentar


        #18
        Ich habe es gerade mal ausprobiert: Beim Stoppen wird ein leerer String (0-Bytes) auf den Bus gesendet und nicht der Ende-Text.

        Möglicher Work-Around (neben den verschiedenen bereits genannen):
        • Starmit Zeit = Einheit Sekunden
        • Beim Beenden 1 Sekunde senden. (0s sorgt auch für das Senden vom leeren String). Das lässt sich leicht mit LOG-Kanal realisieren.
        OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

        Kommentar


          #19
          mumpf

          Hallo Waldemar,

          ja du hast Mich soweit richtig verstanden.

          nur der dritte Punkt ist noch offen. Am Ende soll wieder Badheizer stehen, damit jeder versteht was die Taste macht.

          ich setze mich gleich nochmal an die ETS und probiere das aus.

          Kommentar


            #20
            Zitat von coko Beitrag anzeigen
            Beim Stoppen wird ein leerer String (0-Bytes) auf den Bus gesendet
            Ok, wenn der Timer da was sendet, dann solltest Du im Logikkanal noch eine Einschaltverzögerung von 0.3 oder 0.5 Sekunden einstellen, damit der Logikkanal ganz sicher nach dem Timer sendet.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #21
              coko

              Du hast recht. Irgendwo ist da ein Fehler drin.
              Mal sendet er den Ende Text und dann folgt ein leerer String und dann nach dem zweiten programmieren wo man nur den Zeitwert verändert wieder ohne den leeren String.

              Ich werde morgen das alles nochmal prüfen.

              Kommentar


                #22
                Ich saß bis eben dran, ich bekomme es nicht hin.

                Solange der Timer läuft kommt am Ende der Text mit Badheizer.
                Sobald ich vorzeitig beende kommt nur ein leerer String. Ich verstehe leider nicht wie ich das Problem lösen kann.


                ich würde freuen, wenn mich jemand mit Erfahrung mal an das Thema Logik ranführt.
                Die Möglichkeiten sind so groß und ich verstehe teilweise die Funktionen nicht. KI hilft da auch nicht weiter.
                Zuletzt geändert von Varone3000; 14.11.2025, 00:18.

                Kommentar


                  #23
                  Zeig doch mal Schreenshots, was Du zu meinem Beitrag oben gemacht hast und warum das nicht klappt (Gruppenmonitor).

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    #24
                    Varone3000 hast Du es mit dem oben vorgeschlagenen Work-Around probiert: https://knx-user-forum.de/forum/proj...60#post2063660 ?
                    OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                    Kommentar


                      #25
                      mumpf und coko und alle anderen:

                      https://youtube.com/shorts/vA8NFemQ1...GgfjSmfjK-PZTG


                      Ich habe es hinbekommen, es bedurfte aber zwei Logikanäle.


                      image.pngimage.pngimage.png
                      Ich beschreibe jetzt mal was hier passiert:
                      • Glastaster T4 wird gedrückt -> GA 3/3/0 -> Kanal A des Schaltaktors AKS-2016.03 und der KO 1220 bekommt eine "1"
                      1. Schaltaktor schaltet den Badheizer ein
                      2. KO 1220 des Funktionsblock 1 startet und die Zeit läuft runter. Zeitgleich sendet der KO 1225 auf den GA 3/3/3 die verbleibende Zeit als Text.
                      3. Funktionsblock 1 wird durch Timerablauf gestoppt und sendet auf den KO 1225 den Text "Ende" zugleich sendet der Funktionblock mit dem KO 1229 erst eine 1 und nach einer Sekunde eine 0 auf den GA 3/3/2.
                      4. Im GA 3/3/2 reagiert nun der KO 1 vom Schaltaktor auf die 0 und schaltet KO 1 / Kanal A wieder aus.
                      5. Im GA 3/3/2 wird die 0 auch an den KO 920 gesendet, dieser ist Invertiert und macht aus der 0 eine 1 (EIN) dieser hat einen Hinterlegten Wert "Badheizer"
                      6. Nun ist die Grundstellung nach Timerablauf wieder hergestellt.
                      image.png
                      Was passiert bei vorzeitigen Abbruch:


                      Glastaster T4 wird gedrückt während ein Timer bereits läuft und sendet beim zweiten Drücken eine "0"
                      Nun reagieren im GA 3/3/0 folgende KO:KO 1: Kanal A schaltet ab, KO 1220 reagiert auf 0 und schaltet den Timer vorzeitig ab, zusätzlich reagiert der Eingang der Logik 2:
                      Eingang 1 der Logik 2 ist normal aktiv eingestellt und bekommt auf dem KO 923 eine "0"
                      Im Logikmodul ist eingestellt, das der Wert für "Aus" eine Wert mit dem Namen Badheizer auf den GA 3/3/3.
                      Was wiederum der Grundstellung zeigt.

                      Fertig!


                      Hier unten mal der Verlauf aus der Diagnose:
                      Hier seht ihr nur wie die 14Byte Texte auf den GA 3/3/3 wirken.

                      image.png​Hier seht ihr dann den Verlauf der Schalthandlungen /Status vom Kanal A des Schaltaktors:

                      image.png
                      Zuletzt geändert von Varone3000; 15.11.2025, 00:35.

                      Kommentar


                        #26
                        Super dass Du es hinbekommen hast. Zum einen glaube ich fest daran, dass man erst durch ausprobieren und durch eigene Fehler lernt. Außerdem kann man anhand dokumentierter Beispiele viel leichter bei einer Fehlersuche helfen (hier jetzt nicht mehr nötig) oder auch Verbesserungstipps geben.

                        Zitat von Varone3000 Beitrag anzeigen
                        Ich habe es hinbekommen, es bedurfte aber zwei Logikanäle.
                        Das ist nicht nötig. Du hast ja das hier:
                        Zitat von Varone3000 Beitrag anzeigen
                        Im GA 3/3/2 wird die 0 auch an den KO 920 gesendet, dieser ist Invertiert und macht aus der 0 eine 1 (EIN) dieser hat einen Hinterlegten Wert "Badheizer"
                        Und Dein Logikkanal 2 macht exakt das selbe, wenn auch anders konfiguriert.
                        Zitat von Varone3000 Beitrag anzeigen
                        Eingang 1 der Logik 2 ist normal aktiv eingestellt und bekommt auf dem KO 923 eine "0"
                        Im Logikmodul ist eingestellt, das der Wert für "Aus" eine Wert mit dem Namen Badheizer auf den GA 3/3/3.
                        Beide schreiben also bei einer 0 den Wert "Badheizer" auf die GA 3/3/3. Damit ist einer überflüssig.

                        Deaktiviere mal den Logikkanal 2 (zum Testen) und füge die GA 3/3/0 noch der Logik 1, Eingang 1 hinzu. Wird genau so funktionieren. Und wenn das der Fall ist, dann kannst Du auch Logik 2 komplett löschen.

                        Gruß, Waldemar
                        Zuletzt geändert von mumpf; 15.11.2025, 10:40.
                        OpenKNX www.openknx.de

                        Kommentar


                          #27
                          Zitat von Varone3000 Beitrag anzeigen
                          Glastaster T4 wird gedrückt während ein Timer bereits läuft und sendet beim zweiten Drücken eine "0"
                          Das hier wundert mich auch... warum beim 2. Drücken? Ich dachte das ist ein UMschalter? Mit 1 schaltest Du den Timer ein, oder? Der nächste Tastendruck sollte 0 liefern, wenn nicht, dann hast Du irgendwas auf "Wert für Umschalten" liegen, dass den Taster auf 0 setzt, so dass er wieder eine 1 sendet.
                          Wert für Umschalten sollte vom Aktorstatus belegt sein, sollte also mit der 2/1/85 verknüpft sein - außer Du willst, dass man 2 mal drücken muss.

                          Gruß, Waldemar
                          OpenKNX www.openknx.de

                          Kommentar


                            #28
                            Ich habe auch den Eindruck, dass wäre einfacher möglich. Mein Ansatz sah wie folgt aus:
                            1. Das Schalten selbst sollte durch Taster und Aktor alleine erfolgen
                            2. Ein LOG-Kanal der beim Aus-Signal vom Taster den Wert 1 (DPT5/1Byte) auf das KO "Start mit Zeit" schreibtschreibt

                            Der LOG-Kanal kann dann später ggf. wieder wegfallen, wenn die Funktionsblöcke entsprechend erweitert werden.

                            Nicht so schön ist der Umstand, dass dann immer noch zwischendurch der Leere String geschrieben wird. Um das zu verhindern bräuchte es (bei Laufzeiten über 255s) noch einen zweiten LOG-Kanal der nur das Ein-Signal durchlässt. Ohne den LOG-Kanal dazwischen hast Du allerdings eine robustere Umsetzung.

                            AFAIR können einige MDT-Taster einen DPT1-Wert zusätzlich zu einem anderen Typen (wie DPT5) senden. Damit könnte es sogar ohne LOG-Kanal möglich sein.

                            Du siehst, es gibt mehrere Möglichkeiten...
                            OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

                            Kommentar


                              #29
                              mumpf

                              ja es ist ein Umschalter, ich wollte damit nur erklären, das ich beim einschalten eine 1 sende, und beim zweiten Schalten dann eine 0 sende.

                              Ja stimmt… der Logikkanal hat ja zwei Eingänge. Der zweite Eingang kann ja auch mit seinem KO auf eine 0 „lauschen“ also im GA 3/3/0.
                              Da diese Test GA ohnehin völlig außerhalb meiner normalen Namensgebung läuft, passe ich das nochmal an.

                              Aber in eine separaten Logik ;-) die jetzt laufende deaktiviere ich nur. Bis ich eure Ideen umgesetzt habe.


                              Kommentar


                                #30
                                Nein, kein 2. Eingang. Ich meinte das, was ich geschrieben habe. Die 3/3/0 der Logik 1, Eingang 1 hinzufügen.

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X