Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

    #91
    Ich freue mich ja auch, dass ihr das benutzt... und wenn Sachen benutzt werden, merkt man eben mehr Fehler, als wenn nur ich das nutze.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #92
      Zitat von mumpf Beitrag anzeigen
      Ich hab früher einfach gedacht, dass ich nie mehr als 1000 KO haben werde, sorry
      Was können wir dafür, das der RP2040 so leistungsstark ist
      OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

      Kommentar


        #93
        Hi,

        ich habe mir eben das VPM+LOG Big release auf meinem REG1 installiert.

        Habe nun angefangen meine Logiken vom MDT Logikmodul zu übertragen und bin entweder auf einen Bedienungsfehler oder Bug gestoßen.

        Ich will ganz klassisch Windgeschwindigkeit von m/s nach km/h umrechnen. Dazu habe ich das hier gemacht:

        log1.png log2.png log3.png log4.png

        Leider scheint das Logikmodul die 3,6 intern in 360 umzuwandeln und dann damit zu rechnen:
        log5.png

        Eine 3 (ohne Komma irgendwas) wird auch zu einer 300, es leigt also nicht am Komma.
        Ich kann 0,036 eintragen und dann rechnet er fast richtig, wahrscheinlich wird das auf 0,03 gerundet denn aus 5m/s werden 15km/h und nicht 18km/h.

        Habe ich noch irgendwas vergessen/nicht bedacht oder ists ein Bug im Logikmodul?

        Kommentar


          #94
          Hi,

          ist eigentlich ein Bug, nur weiß ich nicht, wie ich den lösen soll. Eigentlich sind Formeln ja nicht die Hauptkompetenz meines Logikmoduls, ich hab das eingebaut, um Kleinigkeiten korrigieren zu können. Ist auch im nachhinein eingeflossen. Ich war gezwungen, DPT9 intern als Integer zu transportieren (also *100) und bei der Ausgabe wieder durch 100 zu teilen. Wenn Du aber ein Produkt machst, müsste man durch 10000 Teilen. Ich muss da nochmal draufschauen. Bis dahin musst Du mehrstufig rechnen und nochmal selber durch 100 teilen. Oder Du nimmst nur mit 36 als integer (z.B. DPT5) mal und teilst dann nochmal durch 10 (wird etwas genauer). Sorry.

          Was ich mich frage: Wenn Du sowieso das MDT-Modul hast, warum ziehst Du die Formel um? Die können Formeln komfortabler rechnen...

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            #95
            Ich hab auch ein Problem und vermutlich liegts an meiner eigenen Dummheit oder Unfähigkeit.

            Ich habe den Logikeingang als RS-Flip-Flop konfiguriert:

            image.png

            image.png

            Wenn ich die Werte über die ETS setze reagiert das Logikmodul wie erwartet. Wenn die Werte vom MDT Tasterinterface kommen, passiert einfach nichts.

            Kann mir jemand auf die Sprünge helfen?​​

            Kommentar


              #96
              Zitat von mumpf Beitrag anzeigen
              Was ich mich frage: Wenn Du sowieso das MDT-Modul hast, warum ziehst Du die Formel um? Die können Formeln komfortabler rechnen...
              Basteltrieb und ich möchte das MDT-Modul woanders einsetzen.

              Welchen Branch sollte man nehmen wenn ich das fixen möchte? main oder openknx-setup? Habe da eine Idee...

              Kommentar


                #97
                zenvy: Da ich immer noch am Buildsystem arbeite und vieles ändere, würde ich Dir derzeit nicht empfehlen, selber zu bauen.

                Was wäre denn Deine Idee. Ich will sowieso das Logikmodul jetzt releasen, aber wenn Du eine Idee hast, kann ich das vielleicht noch vor dem Release aufnehmen. Und dann hätten es gleich alle...

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  #98
                  Ich hab dir hier mal einen proof of concept hingelegt.

                  Wenn ich das Big VPM+LOG damit baue dann rechnet er korrekt. Ich habe allerdings noch nicht getestet ob die anderen DPTs alle noch gehen. Und ob DPT Mischungen korrekt sind.

                  In processConvertInput ist ein TODO drin welches du schneller lösen kannst als ich. Es ist auch etwas unflexibel wenn jetzt noch mehr DPTs dazu kommen sollen aber das wars vorher ja auch.

                  Am besten wäre natürlich ein struct statt einer union (dann weiß der uValue selber welcher DPT er ist) aber dann müsste man dynamisch Speicher allozieren oder weit genug oben im Stack 3-4 uValues vorhalten und mit runtergeben damit die gefüllt werden was auch hässlich ist.

                  Kommentar


                    #99
                    OK, danke.

                    So wie ich das verstanden habe, hältst Du im Union DPT-Abhängig einen Float oder einen Int vor. Jetzt ärgere ich mich, dass ich nicht selber drauf kam...
                    Ich muss das nochmal checken bei Konvertierungen (z.B. DPT9 auf DPT5), aber das war vorher potentiell auch fehlerbehaftet.

                    Danke erstmal für die Idee. Ich komme allerdings erst kommende Woche dazu, hier was zu machen. Brauchst Du noch Hilfe beim Bauen, damit Du bei Dir die Sachen schon mal einbauen kannst? Sorry dass es derzeit Chaotisch ist, aber ich baue derzeit mehrere Projekte um, deswegen dauert das...

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      Zitat von exxtreme Beitrag anzeigen
                      Kann mir jemand auf die Sprünge helfen?​​
                      Kommen denn wirklich Werte vom Tasterinterface? Briefkasten hört sich so an, als ob da ein LK (wegen Außenlinie) dazwischen ist.

                      Und noch was: Du lässt Die Logik "Bei jedem Eingangstelegramm" reagieren, oder? Und "auch wenn noch nicht alle Werte bekannt sind"?
                      Das sehe ich in Deinem obigen Screenshot nicht...

                      Gruß, Waldemar
                      Zuletzt geändert von mumpf; 01.12.2022, 11:11.
                      OpenKNX www.openknx.de

                      Kommentar


                        Zitat von mumpf Beitrag anzeigen
                        Kommen denn wirklich Werte vom Tasterinterface? Briefkasten hört sich so an, als ob da ein LK (wegen Außenlinie) dazwischen ist.
                        Soweit ich das beurteilen kann, kommen die Werte an. Ich kann sie auch im Gruppenmonitor sehen. Es handelt sich um zwei Reed-Kontakte im Briefkasten, das Tasterinterface dazu sitzt allerdings im Gebäude, daher ist das keine getrennte Außenline.

                        Zitat von mumpf Beitrag anzeigen
                        Und noch was: Du lässt Die Logik "Bei jedem Eingangstelegramm" reagieren, oder? Und "auch wenn noch nicht alle Werte bekannt sind"?
                        Stimmt, dazu habe ich kein Screenshot gesendet, es ist aber genau so konfiguriert wie du es gesagt hast:

                        image.png

                        Kommentar


                          Zitat von exxtreme Beitrag anzeigen
                          Soweit ich das beurteilen kann, kommen die Werte an.
                          Dann müsstest Du eigentlich mit dem Gruppenmonitor und ein paar Tests des Logikkanals herausfinden können, wo es hakt.

                          Ich nehme für so etwas immer gern ein paar Test GAs und EasyKNX, das ist handlicher als der Gruppenmonitor (der aber auch funktioniert). Wenn die Test GA aus einem sonst unbenutztem Bereich stammen (z.B. Hauptgruppe 31) kannst Du gut filtern.
                          Gruß Bernhard

                          Kommentar


                            Ehrlich gesagt, ich bin ratlos.

                            Denn sobald das gilt:
                            Zitat von exxtreme Beitrag anzeigen
                            Wenn ich die Werte über die ETS setze reagiert das Logikmodul wie erwartet.
                            kann ich nichts mehr machen... Die Kommunikation auf dem Bus ist genormt. Und es ist Broadcasting. Wenn also Werte von einem empfangen werden können (ETS), können sie von allen empfangen werden.
                            Das einzige, was dazwischen liegen kann ist ein Filter, üblicherweise sind das LK. Deswegen nochmal die Frage: Kein LK zwischen Tastsensor und Logikmodul?
                            Wobei die Tatsache, dass Du die Telegramme vom Tasterinterface in der ETS siehst und von der ETS aus erfolgreich Telegramme senden kannst gegen einen LK spricht.

                            Kann ein anderes Gerät mit dem Logikmodul "reden"?

                            Gruß, Waldemar

                            P.S.: Ich würde übrigens den Reset vom RS-Flipflop erst beim schließen der Tür triggern (also Eingang 2 negieren).

                            P.P.S.: Ansonsten ist das RS-FlipFlop für genau diese Art von Anwendung gedacht, also genau richtig eingesetzt.
                            OpenKNX www.openknx.de

                            Kommentar


                              Zitat von mumpf Beitrag anzeigen
                              Ehrlich gesagt, ich bin ratlos.
                              Genau so geht es mir auch.

                              Zitat von mumpf Beitrag anzeigen
                              Kann ein anderes Gerät mit dem Logikmodul "reden"?
                              Das werde ich nochmal probieren.

                              Zitat von mumpf Beitrag anzeigen
                              P.S.: Ich würde übrigens den Reset vom RS-Flipflop erst beim schließen der Tür triggern (also Eingang 2 negieren).
                              Aber würde das dann nicht dazu führen das der FlipFlop immer direkt zurückgesetzt wird, weil die Tür ist ja initial geschlossen (also FALSE)?

                              Zitat von mumpf Beitrag anzeigen
                              P.P.S.: Ansonsten ist das RS-FlipFlop für genau diese Art von Anwendung gedacht, also genau richtig eingesetzt.
                              Danke, ich hab mich auch echt über diese Funktion gefreut, da alle anderen Logikbausteine die ich habe, diese Funktion nicht anbieten.
                              Zuletzt geändert von exxtreme; 01.12.2022, 13:55.

                              Kommentar


                                Wie gesagt, versuche mal mit Test GAs und Beoachten der Reaktion im Gruppenmonitor der Sache auf die Spur zu kommen. Das kann auch Freude machen, wenn es am Ende funktioniert.
                                Gruß Bernhard

                                Kommentar

                                Lädt...
                                X