Ankündigung

Einklappen
Keine Ankündigung bisher.

Reset von Device am Bus

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

    Reset von Device am Bus

    Hallo,

    ich habe für meine Zehnder Lüftungsanlage ein ComfoConnect KNX Gateway von Zehnder. Leider hängt sich dieses Gateway alle ca. 2 Monate auf. Das Problem lässt sich durch einen Hardware Reset am Gateway beheben oder durch Neuprogrammieren des Gateways von der ETS.

    Nachdem das Programmieren ohne Hard-Reset noch geht, gibt es offenbar über den Bus noch einen Zugang zum Gerät. Definiert KNX sowas wie einen Reset von einem Gerät über den Bus? Wenn ja, kann ich diesen Reset von knxd aus auslösen?

    Gruß
    Rainer

    #2
    KNX definiert nichts dergleichen. Die einfachste Lösung für dein Problem ist aktuell ein Relais, das die Busverbindung kurz unterbricht. Möglicherweise würde es reichen, den Programmiermodus kurz ein- und auszuschalten, aber Support dafür ist aktuell nicht im knxtool eingebaut, weil ich dafür keine freie Zeit habe …

    (Konkret: der Code dafür war früher Teil vom knxd. Da gehört er aber nicht hin.)
    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

    Kommentar


      #3
      Es gibt die A_Restart PDU, die einen Software-Reset macht - vielleicht genügt das ja schon. Wenn also die ETS-Funktion "Gerät zurücksetzen" auch hilft, würde es damit gehen.
      Hardware-Reset nur über ein Relais.

      Kommentar


        #4
        Hallo zusammen,
        ich bin ebenfalls auf der Suche nach einer Möglichkeit per knxd bzw. knxtool die ETS-Funktionalität "Gerät zurücksetzten" nachzubilden. Gibt es eine Möglichkeit diese zu bewerkstelligen. knxd und knxtool laufen in meinem Docker container und ich kann die Daten auslesen sowie Gruppenobjekte schalten. knxtool list liefert z.B. das applet mrestart, allerdings bekomme ich bei dem Versuch dieses Aufzurufen immer die Meldung
        Connect failed: Connection reset by peer
        Ist es möglich den von Klaus angesprochenen A_Restart PDU irgendwie per knxtool zu triggern?
        MfG Benni

        Kommentar


          #5
          Aktuell nicht. Das Problem ist, dass der knxd ein Router ist und nicht "mehr". Die ganzen Mehrwertfunktionen gehören in ein eigenes Programm, das dummerweise noch keiner geschrieben hat.

          Der knxd konnte das früher (Version 0.10), aber mit einer Programmstruktur die total ineffizient war und von einem nicht unterstützten und grottig programmierten Library abhing. In der Form war es unmöglich, den knxd ins Debian-Archiv aufzunehmen, und die Lösung für diverse andere Probleme hat in die alte Codestruktur auch nicht reingepasst.

          Die Zahl der Leute, die sich für Open Source erwärmen, sich an C++-Code rantrauen und was von KNX verstehen, ist offenbar nach wie vor am Daumen einer Hand abzählbar.
          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

          Kommentar


            #6
            Hi,

            ich habe mir für diesen Fall ein eigenes Logikmodul gebaut, das als ein möglicher Ausgangswert ein "Reset device" macht. Ist aber auf Arduino-Basis und noch im experimentellen Stadium. Das geht auch mit dem knx-Stack von thesing (https://knx-user-forum.de/forum/%C3%...66-knx-mit-ets). Damit habe ich es schon mal erfolgreich auch unter Linux implementiert. Ich muss noch ein Pull-Request mit den Änderungen machen.

            Aber "in fertig" gibt es da noch nichts...

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Hallo zusammen,

              besten Dank für die schnelle und ausführliche Antwort!
              Smurf: tolle Arbeit, aber ich werde mit meinen Kenntnissen (=0) nicht der zweite Daumen an einer Hand werden

              Wenn Ihr für "jede Schweinerei" zu haben wärt, sprich alte Pakete, schlechte Implementierung etc. in Kauf nehmen würdet, welchen Weg würdet Ihr gehen, um ein KNX Device ohne ETS automatisiert neu zu starten?

              Gruß Benni

              Kommentar


                #8
                Ganz ehrlich? ich würde das Ding grundsätzlich komplett vom Bus nehmen. Relais oder Halbleiterschalter daneben, den roten Draht mal eben ferngeschaltet ab- und wieder anklemmen, fertig.

                Alternativ kann man den Code von mumpf hernehmen, sobald der irgendwo zu sehen ist.

                Oder mich bestechen dass ich mit dem Neubau vom knxd, den ich so im Hinterkopf habe (und der das gefälligst (wieder) können soll), irgendwann mal tatsächlich anfange …
                DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                Kommentar


                  #9
                  Hi Leute,

                  wollte mal fragen, ob es hier schon irgendwelche Entwicklungen gibt, habe da so nichts finden können.

                  Ich habe hier ein Problem mit älteren Jalousie Aktoren, dass diese nach einem Stromausfall manchmal nicht so recht wollen, nach einem zurücksetzen über KNX ist dann wieder alles gut.

                  Klasse wäre irgendwie ein Linux Kommando welches dann nach einem Stromausfall einfach in einer Batch alle Jalousie Aktoren zurücksetzt und gut...

                  Vielleicht gibt es da ja mittlerweile irgendwas.

                  Viele Grüße
                  Stefan

                  Kommentar


                    #10
                    Hi 👋!
                    Ja, mittlerweile gibts da was. Wenn du Python hast kannst du dir ein kleines Script mit xknx basteln. Hier ein Beispiel:
                    https://github.com/XKNX/xknx/blob/ma...ple_restart.py

                    Kommentar


                      #11
                      Danke für die schnelle Antwort, ja das funktioniert... Mal eben getestet in dem ich mit dem Beispiel einen Reset zum Jalousie Aktor gesendet habe, während er am fahren ist.

                      Perfekt, sowas habe ich gesucht.

                      Kommentar


                        #12
                        Zitat von Raudi Beitrag anzeigen
                        Danke für die schnelle Antwort, ja das funktioniert... Mal eben getestet in dem ich mit dem Beispiel einen Reset zum Jalousie Aktor gesendet habe, während er am fahren ist.

                        Perfekt, sowas habe ich gesucht.
                        Kannst du mal bitte schreiben bzw. erklären wie du das gemacht hast?
                        Wuerde gerne über ioBroker meine Wetterstation neustarten, da die sich hin und wieder aufhängt.

                        Lieben Dank vorab.

                        Kommentar


                          #13
                          Also ich habe nur:

                          pip install xknx

                          Und dann eine knx-reset.py angelegt mit dem Inhalt der weiter oben verlinkt ist.

                          Nun kann ich mit:

                          python3.10 knx-reset.py 1.0.4

                          Meinem Aktor einen Reset verpassen...

                          Kommentar


                            #14
                            Zitat von Raudi Beitrag anzeigen
                            Also ich habe nur:

                            pip install xknx

                            Und dann eine knx-reset.py angelegt mit dem Inhalt der weiter oben verlinkt ist.

                            Nun kann ich mit:

                            python3.10 knx-reset.py 1.0.4

                            Meinem Aktor einen Reset verpassen...
                            Perfekt, vielen lieben Dank!

                            Kommentar

                            Lädt...
                            X