Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

    EPIX: Leider sagt mir das Log auch nicht mehr als Dir.
    Vielleicht kann coko dazu noch was sagen?

    Passiert das jedesmal bei Dir oder war das nur einmalig? Vor allem: Passiert es auch, nachdem Du die ETS neu gestartet hast? Und welche ETS ist es?

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      Zitat von mumpf Beitrag anzeigen
      EPIX: Weiß ich nicht, wir geben einfach die Meldung der ETS aus, wenn ein Befehl nicht ausgeführt wird.
      Das ist keine aktive Ausgabe durch ConfigTransfer, sondern kommt direkt von der ETS.

      Was mich am meisten wundert, ist der Umstand, dass das beim Export auftritt. Dabei wird nur der Ergebnis-Parameter geschrieben

      EPIX das Log weist nach erstem Überfliegen einen Zusammenhang mit Param-Assigns hin. Kannst Du mal mit einer KOPIE testen, ob das Phänomen nach einem Update auf die neuste Version immer noch auftritt?

      LOG3.5 ist schon älter, mumpf evtl. gehört das zu denen die wir in der 4 entfernt hatten
      OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

      Kommentar


        EPIXich habe mir das Log noch mal genauer angesehen. Die Logikmodul-Standalone-Applikation ist schon die neuste. In sofern kommen wir da mit Update leider nicht weiter.

        Die ETS-Version wäre hier auf jeden Fall interessant.
        Funktionieren denn Import/Kanalkopie?
        Tritt das Phänomen unabhängig vom gewählten Kanal auf?
        Kannst Du uns Screenshots vom betroffenen Kanal bereitstellen?

        Die Parameter im Log stammen auch alle aus dem Logik-Modul (Kanäle 1 bis 8, wenn ich das richtig gesehen habe. Die würden nicht gleichzeitig in der selben ConfigTransfer-Operation abgefragt):
        mumpf kannst Du mit denen was anfangen?
        1001446 = LOG_f1E1Convert
        1001369 = LOG_f1E1ConvertFloat
        1001133 = LOG_f1AnyInputActive
        1001456 = LOG_f1E1InputDeltaOrAll
        1001457 = LOG_f1E2InputDeltaOrAll
        1001458 = LOG_f1OverviewDisplay​
        OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

        Kommentar


          Sorry, bin an mehreren Baustellen beschäftigt....

          ETS 5.7.7
          neu gestartet - wird korrekt exportiert
          Phänomen ist auf anderen Kanälen auch aufgetaucht

          Aufgefallen ist mir das Ganze, weil eine Logik einfach nicht funktionieren will:
          Das Ergebnis von Logik 7 sollte intern in Logik 8 verarbeitet werden (ich habe es aktuell auf "extern" den Wert zu Fehlersuche ebenfalls - hioer wird korrekt berechnet), aber aus dem Ausgang von Logik 8 kommt nix....

          image.png​
          image.png
          image.png
          image.png
          image.png​
          Logik 8 ------------------------------------------------------
          ​
          ​image.png
          image.png
          image.png
          image.png​
          image.png​​​
          ​

          ​
          EPIX
          ...und möge der Saft mit euch sein...
          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

          Kommentar


            Zitat von EPIX Beitrag anzeigen
            ETS 5.7.7
            neu gestartet - wird korrekt exportiert
            Phänomen ist auf anderen Kanälen auch aufgetaucht
            D.h. das ganze tritt/trat nicht reproduzierbar auf?

            Bei Screenshots wäre es gut diese mit der Hervorhebung von nicht-Standardwerten durchzuführen.
            OpenKNX www.openknx.de | StateEngine: Universelle Zustandsautomaten in KNX | OpenKNX Konfigurationstransfer

            Kommentar


              Danke euch für die Hilfe und vor allem den Hinweis das das Zähler Modul mir hier nicht weiterhilft.

              Zitat von mumpf Beitrag anzeigen
              Der Zählerstand ist nicht persistent, weil ein Eingang, der sich auf ein weiteres KO bezieht, nicht gespeichert werden kann. Er wird also nach einem Neustart auf 0 gesetzt. Hier wäre es besser, Eingang 2 über eigenes KO 341 laufen zu lassen, mit der Einstellung "Wert speichern und nach dem Neustart als Vorbelegung nutzen" und dann den Ausgangswert "auf ein zusätzliches KO senden" lassen "Relatives KO -1 (341)".
              So kann man dann auch jederzeit durch ein Senden einer 0 auf den Eingang 2 den Zählerstand zurücksetzen.
              Bedeutet das, dass hier jede 10 Sekunden (jede Sekunde) der Wert auf den Speicher des μC gespeichert wird?
              Vermutlich nicht förderlich für dessen Lebensdauer, oder?

              Wenn ich "Wert speichern" nicht wähle, erfolgt das nicht, wird aber wieder zurückgesetzt, oder?
              (würde mir reichen, da die Aufsummierung bei mir der GiraX1 schon übernimmt, auch bei reset)


              mpl1337
              Echt danke für deine Logik , werde ich mir morgen Abend einmal anschauen und testen

              Kommentar


                Er wird zwar jede Sekunde in den RAM geschrieben(und nicht vieles anderes...), aber in den "empfindlichen" Flash wird, wenn du es in der ETS nicht geändert hast, nur einmal pro Tag gespeichert.

                Es erfolgt auch ein Schreibvorgang bei einem gewollen Neustart bzw. beim Übertragen der Applikation - aber das passiert ja nicht oft...​

                Kommentar


                  Zitat von LostWolf Beitrag anzeigen
                  Bedeutet das, dass hier jede 10 Sekunden (jede Sekunde) der Wert auf den Speicher des μC gespeichert wird?
                  Vermutlich nicht förderlich für dessen Lebensdauer, oder?
                  Speicher ist nicht gleich Speicher. Wir schreiben alle Werte ins RAM, das ist flüchtig, aber dafür gedacht, beliebig oft beschrieben (und gelesen) zu werden - das passiert während des Normalbetriebs (auch wenn das Gerät "nichts" tut) sowieso immer sehr häufig.
                  Du meinst wahrscheinlich den Flash-Speicher, in dem auch die Firmware und die ETS-Parameter liegen. Dieser ist nicht flüchtig und kann nur beliebig oft gelesen, aber nur ca. 100.000 mal beschrieben werden. Wenn ich von 10.000 manuellen Flash-Vorgängen ausgehe (Firmware-Updates, ETS-Programmierung) - wenn Du täglich einmal Proggen oder Flashen würdest, würde das >25 Jahre halten - dann bleiben noch 90.000 Zyklen für die automatischen Schreibvorgänge. Und die passieren nur so oft, wie Du es in der ETS unter "Erweitertes Speichern" einstellst und zusätzlich bei jedem Stromausfall (z.B. auch Busklemme abziehen) und vor jedem programmatischen Neustart (z.B. Gerät neu starten über den Bus, Gerät programmieren). Es passiert nicht beim drücken der Reset-Taste.
                  Erweitertes Schreiben ist bei den meisten OpenKNX-Geräten per Default aus (ich glaube SML macht es einmal täglich).
                  90.000 Schreibzyklen bei täglich schreiben würde immer noch für ca. 240 Jahre reichen, und selbst stündlich würde 10 Jahre halten - das würde ich allerdings nicht empfehlen. Das ist auch entsprechend in der Kontexthilfe beschrieben.

                  Ergo: Speichern eines Wertes im Logikmodul ist absolut gefahrlos möglich, es ist egal, ob das für einen oder für alle 99 Kanäle eingestellt wird.

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    Zitat von coko Beitrag anzeigen
                    D.h. das ganze tritt/trat nicht reproduzierbar auf?
                    ja, so ist es....

                    Zitat von coko Beitrag anzeigen
                    Bei Screenshots wäre es gut diese mit der Hervorhebung von nicht-Standardwerten durchzuführen.
                    Sorry, mache ich beim nächten Mal....

                    Ich habe das Problem eingegrenzt:
                    die Logik 7 funktioniert tadellos - wenn ich den Ausgang Logik 7 über eine (Hilfs-)GA auf einen Eingang Logik 8 lege, passt alles - es wird der korrekte Wert der Logikberechnung 8 beim Ausgang 8 ausgegeben.
                    Wenn die Verknüpfung Logik 7-> Logik 8 über den internen Eingang erfolgt, dann wird kein Wert auf den Ausgang der Logik 8 ausgegeben...
                    Testweise habe ich Logik 8 kopiert(-> Logik 9) und nur den Externen Augang deaktiviert un dafür den Internen Eingang aktiviert...

                    In der Übersicht der internen Verknüpfungen ist IMHO alles korrekt:
                    image.png​
                    Zuletzt geändert von EPIX; Gestern, 15:24.
                    EPIX
                    ...und möge der Saft mit euch sein...
                    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                    Kommentar


                      Nochmals Danke für die Logik mpl1337
                      Ich habe das jetzt mal so testweise importiert und leicht angepasst:
                      image.png​
                      image.png​

                      Also nur alle 60 Sekunden und nur dann, wenn sich der Wert ändert ("nur geänderte Werte senden")
                      Jetzt beobachte ich hingegen, aber, wenn der Wert >0 ist, wird trotzdem jede 60 Sekunden auf den Bus gesendet:
                      image.png​
                      Ist hier die Ursache der DPT?

                      Kommentar


                        Zitat von EPIX Beitrag anzeigen
                        In der Übersicht der internen Verknüpfungen ist IMHO alles korrekt:
                        Leider nein .

                        Ich zitiere mal aus der Anleitung:
                        Bei internen Eingängen zeigt diese Spalte die Nummer des Kanals mit dessen Ausgang dieser Eingang verknüpft ist und wie dieser ermittelt wird. Beim Wert "absolut" erscheint ein Eingabefeld, in dem man die Kanalnummer des Kanals eingeben kann. Beim Wert "relativ" erscheint ein Eingabefeld, in dem man die Anzahl der Kanäle, um die man vor- oder zurückspringen will, angeben kann. Dahinter erscheint noch die Nummer des Kanals, bei dem man landet.
                        und im allgemeinen Teil:
                        Das Logikmodul erlaubt 2 Arten von internen Verknüpfungen, damit Hilfswerte und Zwischenergebnisse von Kanal zu Kanal nicht über den Bus ausgetauscht werden müssen.

                        Die eine Möglichkeit der Verknüpfung, genannt Interner Eingang, erlaubt es, die internen Eingänge eines Kanals mit dem internen Ausgang eines anderen Kanals zu verbinden.
                        Nachzulesen hier: https://github.com/OpenKNX/OFM-Logic...n%C3%BCpfungen

                        Du hast die KO-Nummer angegeben, das ist falsch. Bei internen Eingängen muss es die Kanal-Nummer sein.

                        Gruß, Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          Zitat von LostWolf Beitrag anzeigen
                          Jetzt beobachte ich hingegen, aber, wenn der Wert >0 ist, wird trotzdem jede 60 Sekunden auf den Bus gesendet:
                          Ja klar, der Wert ändert sich ja auch.

                          Ich würde die Ausgabe auf DPT13 stellen (mit dem richtigen DPT kWh) und dann nur bei geändert ausgeben, dann hast Du lange Ruhe .

                          Gruß, Waldemar
                          Zuletzt geändert von mumpf; Gestern, 16:25.
                          OpenKNX www.openknx.de

                          Kommentar


                            Wenn die Leistung >0 ist, muss weitergezählt werden. Oder was ist das Problem?

                            Kommentar


                              Ich denke, es geht um den Ausgang vom 2. Kanal, der zyklisch sendet. LostWolf kritisiert wohl, dass 0.007 mehrfach gesendet wird, obwohl er eingestellt hat "nur geänderte Werte senden". Aber es geht natürlich nicht um die (gerundete) Darstellung der ETS, sondern um die Werte, und die sind z.B. 38 d9 53 05 (0.006666…) oder 38 dc 6c 65 (0.006966…). Sie unterscheiden sich somit.

                              Deswegen mein Vorschlag: Wert DPT 13.013 ausgeben, die Einheit ist kWh, dann ist der Wert korrekt. Und es dauert einige Zeit, bis sich die kWh-Werte ändern.

                              Gruß, Waldemar


                              OpenKNX www.openknx.de

                              Kommentar


                                Genau das meinte ich
                                Muss ich mal schauen wie ich das umsetze, hätte da gerne schon die Kommawerte 😅
                                Vielleicht arbeite ich auch mit einem Wh Zähler; mal sehen

                                Funktioniert aber auf jeden Fall wie gewünscht.
                                Echt vielen Dank 👍
                                Zuletzt geändert von LostWolf; Gestern, 17:43.

                                Kommentar

                                Lädt...
                                X