Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

    Zitat von Benni620 Beitrag anzeigen
    Das ist ein Screenshot, die beiden markierten sind Lesen und Antwort, bevor ich das Gerät programiert hab.
    Darunter ist das Lesen, nach dem Programieren. Da kommt dann keine Antwort mehr. Wenn ich versuche auf die GA zu schreiben (4. von oben) und wieder frage (5.) keine Antwort.
    Erstmal: Nach einem Neustart sind Logikausgänge "undefiniert". Die haben keinen Wert und können auch kein Read beantworten. Somit ist Zeile 3 absolut korrekt.
    Dass Zeile 4 nicht funktioniert (Write) liegt ganz einfach an dem Fehlenden S-Flag. Das ist ein Ausgang, per default kann der nicht beschrieben werden kann. Wenn Du das S-Flag setzt, wird auch der Read in Zeile 5 funktionieren. Das brauchst Du aber gar nicht, Du musst Deine Zeitschaltuhr dazu veranlassen, nach einem Neustart passend zu senden.

    Und damit nach einem Neustart die Zeitschaltuhr was macht, musst Du bei den Schaltzeiten "den letzten Schaltpunkt neu berechnen" lassen.

    Gruß, Waldemar


    OpenKNX www.openknx.de

    Kommentar


      Danke euch, manchmal sieht man halt einfach den Wald vor lauter Bäumen nicht mehr..


      Grüße

      //Edit

      ...Und manchmal gibt es keinen Wald:

      grafik.png
      Zitat von mumpf Beitrag anzeigen
      "den letzten Schaltpunkt neu berechnen"
      Das müsste ja da unter der Urlaubsbehandlung sein? Das fehlt da..

      Wenn ich eine Neue Logik mit Zeitschaltuhr erstelle, ist die Schaltfläche da. Beim Übertragen der bestehenden mit dem "Konfikurationstransfer" fehlt immer noch die Schaltfläche.

      Code:
      OpenKNX,cv1,0xA012:0x40/LOG:0x35/4§f~Name=Tag%20Nacht%20Hue§f~Logic=5§f~Td1DuskDawn=7§f~Td2DuskDawn=4§f~Td3DuskDawn=10§f~TYearDay=1§f~THoliday=3§f~TVacation=3§f~Td1Value=1§f~Td1HourRel=6§f~Td2Value=1§f~Td2MinuteRel=1§f~Td3HourRel=21§f~Td3MinuteRel=30§f~Ty1Weekday1=1§f~Ty1Weekday2=1§f~Ty1Weekday3=1§f~Ty1Weekday4=1§f~Ty1Weekday5=1§f~Ty1IsWeekday=1§f~Ty2Weekday6=1§f~Ty2Weekday7=1§f~Ty2IsWeekday=1§f~NameOutput=Tag%20Nacht%20Hue§f~ODpt=9§;OpenKNX
      //EDIT
      Problem gefunden:
      grafik.png

      Sobald nicht "Urlaub nicht beachten" drin steht geht es nicht mehr..
      Zuletzt geändert von Benni620; 10.02.2025, 17:24.

      Kommentar


        Hi,

        ich habe gerade mit den Benutzerformeln rumgespielt (Umwandlung relativer in absolute Luftfeuchtigkeit) und dabei kam mir eine Frage:
        Ermöglicht die Funktion "Benutzerformel testen" keine Angabe der Eingangswerte? Man kann natürlich die Formel so anpassen, dass man direkt die Testwerte einsetzt (also z.B. für die eigentliche Formel "E1+E2*5" wenn man mit 3 und 4 testen will eben "3+4*5" eintragen), aber einerseits ist das (insbesondere bei längeren Formeln) ja fehleranfällig und andrerseits auch nur möglich, solange entweder die Formel ausreichend kurz ist oder die Testwerte maximal zweistellig (Meine 99-Zeichen-Formel erlaubt zum Beispiel dann keinen Test mit 12,5 und 45, weil dann die Formel durch die erste Zahl länger würde).
        Eventuell übersehe ich da aber auch nur etwas

        Ansonsten echt wahnsinnig mächtig, Hut ab!


        PS: Mir ist klar, dass ich erst eine Formel (z.B. Benutzerformel B3) übertragen kann und dann Testwerte per Formel testen (z.B. "b3(12.5, 45, 0)") ausrechnen lassen kann. Aber dann muss ich ja doch erst wieder die Konfiguration übertragen, bräuchte also das Testen nicht (geht dann ja auch per Senden auf GA - wobei die Testfunktion immer noch schöner ist, da man dann nicht Werte auf dem Bus hat die eventuell gar nicht weiter beachtet werden sollen von anderen Geräten).

        PS2: Warum eigentlich "bn(E1, E2, a)" und nicht nur "bn(E1, E2)", a ist doch das Ergebnis des Funktionsaufrufs?
        Vergiss das ... ist natürlich im Kontext eines Logikkanals zu sehen, und da hat die Formel netterweise dann Zugriff auf den Ausgangswert des Kanals
        Zuletzt geändert von Alloc; 14.02.2025, 17:06.
        Chris

        Kommentar


          Zitat von Alloc Beitrag anzeigen
          Eventuell übersehe ich da aber auch nur etwas
          Ich glaube ja, siehe Doku:

          “Um eine bereits definierte Benutzerformel zu berechnen, gibt man z.B. B10(4,7,15) ein. Das führt die Benutzerformel 10 mit den Argumenten E1=4, E2=7 und A=15 aus und präsentiert das Ergebnis.​“
          Gruß Bernhard

          Kommentar


            Zitat von willisurf Beitrag anzeigen
            Ich glaube ja, siehe Doku:
            Da war ich leider mit meinem Edit etwas zu langsam Das ist mir klar, aber da geht es eben um bereits definierte - und auf das Gerät übertragenen - Formeln. Wie oben geschrieben ist das immer noch super, aber dennoch einschränkend wenn man neue Formeln erst testen will. Daher die Hoffnung, dass es auch die Möglichkeit gibt, direkt E1/E2/A zu übergeben beim Testen
            Chris

            Kommentar


              Zitat von Alloc Beitrag anzeigen
              Daher die Hoffnung, dass es auch die Möglichkeit gibt, direkt E1/E2/A zu übergeben beim Testen
              Das kann nicht gehen, da die gesamte Berechnung auf dem Gerät laufen muss, nur dort ist die C-Bibliothek für mathematische Berechnungen implementiert.
              Gruß Bernhard

              Kommentar



                Zitat von Benni620 Beitrag anzeigen
                ...Und manchmal gibt es keinen Wald:
                Doch...

                Zitat von Benni620 Beitrag anzeigen
                Sobald nicht "Urlaub nicht beachten" drin steht geht es nicht mehr..
                Siehe Applikationsbeschreibung, genauer gesagt hier:
                Achtung: Zeitschaltuhren, die Urlaubstage berücksichtigen, können bei der Nachberechnung der Zeitschaltpunkte nicht mit einbezogen werden, da die Information "Urlaubstag" per KO von extern dem Modul über den Bus gemeldet wird und somit nicht für die (historische) Nachberechnung zur Verfügung steht. Somit werden bei der Nachberechnung alle Zeitschaltuhren mit einer anderen Angabe als "Urlaub nicht beachten" ignoriert.
                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  Und eins wollte ich noch erwähnen - und das gilt stellvertretend für alle HW/SW Projekte bei OpenKNX:
                  Ich will hier auf keinen Fall den Eindruck erwecken etwas schlecht zu reden oder mich zu beschweren. Zum Einen ist mir klar, dass hier keiner Geld verdient und das alles in der Freizeit läuft. Ansprüche darf hier also keiner stellen - ich nach zwei Wochen OpenKNX sicher schon gar nicht
                  Und egal ob Freizeit oder nicht muss man ja auch sagen, dass eigentlich alles was ich bisher gesehen habe eher auf höherem Niveau liegt als das, was die kommerziellen Hersteller so anbieten (wobei man natürlich als nicht-kommerzieller Entwickler und nicht-lizenzierten Geräten sicher auch etwas mehr Freiheiten genießt).

                  Aber gerade weil ich neu hier bin will ich einfach nur meine Erfahrungen schildern, wenn mir etwas auffällt, mit dem ich Schwierigkeiten habe - sei es weil ich die Doku nicht verstehe, etwas übersehe, oder vielleicht auch aus meiner Sicht etwas anders gemacht werden könnte. Denn aus meiner eigenen Erfahrung kann ich sagen, dass gerade die Neulinge oft über Dinge stolpern, die man selber aus "Betriebsblindheit" irgendwann einfach nicht mehr bemerkt Was aber eben auch nicht heißt, dass durch irgendeine Anmerkung meinerseits irgendetwas geändert werden soll/muss!

                  Also noch mal: Hut ab an alle hier beteiligten, das Ganze ist einfach genial!
                  Chris

                  Kommentar


                    Zitat von willisurf Beitrag anzeigen
                    Das kann nicht gehen, da die gesamte Berechnung auf dem Gerät laufen muss, nur dort ist die C-Bibliothek für mathematische Berechnungen implementiert.
                    Ich weiß leider absolut nicht, was die ETS da alles ermöglicht. Ich war schon erstaunt, dass über die normalen Konfigurationsseiten der ETS überhaupt eigene Pakete an das Gerät geschickt werden können. Aber ich hätte da jetzt so eine Eingabemaske mit 3 weiteren Feldern erwartet, die dann jeweils eine Zahl für E1/E2/A erlauben, die dann zusammen mit der Formel übertragen werden und eben als Inputs eingehen.
                    Chris

                    Kommentar


                      Zitat von Alloc Beitrag anzeigen
                      dennoch einschränkend wenn man neue Formeln erst testen will.
                      Das man zumindest die Syntax der Formel vorab prüfen kann, hast Du ja sicher gesehen.

                      Und auch von meiner Seite Respekt, das Du Dich so schnell in die Formeln eingearbeitet hast und das einfach mal ausprobiert hast.
                      Ist auch nicht selbstverständlich.
                      Gruß Bernhard

                      Kommentar


                        Zitat von mumpf Beitrag anzeigen
                        Siehe Applikationsbeschreibung
                        Ja, hatte ich inzwischen auch gefunden gehabt, ich habs nur hier nicht mehr komentiert

                        Danke Dir!

                        Kommentar


                          Zitat von willisurf Beitrag anzeigen
                          Das man zumindest die Syntax der Formel vorab prüfen kann, hast Du ja sicher gesehen.
                          Ja, das hat mir viele Runden übertragen erspart, weil ich nicht gemerkt hab, dass ich zuviele Zeichen hatte am Anfang

                          Zitat von willisurf Beitrag anzeigen
                          Und auch von meiner Seite Respekt, das Du Dich so schnell in die Formeln eingearbeitet hast und das einfach mal ausprobiert hast.
                          Ist auch nicht selbstverständlich.
                          Naja, als langjähriger Hard/Softwareentwickler ist das alles doch recht naheliegend gebaut. Mein Hauptproblem bisher: Ich traute den Geräten einfach nicht so viel Flexibilität zu, weil man das von der ETS/Geräteapplikationen sonst so nicht gewöhnt ist


                          Gerade noch eine Frage, aber ich vermute da limitiert die ETS: Wäre es möglich bei der Auswahl der Funktion im Ausgangsblock einer Logik den Funktionsnamen mit anzuzeigen? Also etwa so (meine Benutzerformel heißt "Humid Rel2Abs"):
                          image.png
                          Chris

                          Kommentar


                            Zitat von Alloc Beitrag anzeigen
                            Ich traute den Geräten einfach nicht so viel Flexibilität zu, weil man das von der ETS/Geräteapplikationen sonst so nicht gewöhnt ist
                            Das ist Waldemar‘s Verdienst. Er testet die Grenzen der ETS immer wieder aus.
                            Gruß Bernhard

                            Kommentar


                              Nein dropdown sind leider statisch nicht veränderbare auswahlboxen. Meiner Meinung nach eines der größten Fehler der ets.
                              OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

                              Kommentar


                                Zitat von Alloc Beitrag anzeigen
                                Aber ich hätte da jetzt so eine Eingabemaske mit 3 weiteren Feldern erwartet, die dann jeweils eine Zahl für E1/E2/A erlauben, die dann zusammen mit der Formel übertragen werden und eben als Inputs eingehen.
                                Durchaus denkbar... der derzeitige Formeltest ist eine Art "Abfallprodukt", dass das API zum schicken der Formeln an das Gerät mit nutzt. Und so blöde das klingt - die 3 Felder, die am Gerät dann statt KO an die anderen Formeln übergeben werden müssen, brauchen ziemlich große Änderungen beim Processing.
                                Ich behalte es im Hinterkopf, aber wird sicherlich nichts sein, was ich schnell realisieren werde.

                                Zitat von Alloc Beitrag anzeigen
                                Was aber eben auch nicht heißt, dass durch irgendeine Anmerkung meinerseits irgendetwas geändert werden soll/muss!
                                Das mit Betriebsblind kenne ich und ich sehe das genau so. Für konstruktive Kritik bin ich immer offen. Für mich kann ich zumindest sagen, dass ich es wohlwollend lese und dann schaue, ob und wie ich das behandle.

                                Zitat von Alloc Beitrag anzeigen
                                Wäre es möglich bei der Auswahl der Funktion im Ausgangsblock einer Logik den Funktionsnamen mit anzuzeigen?
                                Wie Marco schon sagte, das geht nicht in der Dropdown. Ich könnte in einer Readonly-Textzeile darunter den Funktionsnamen zeigen. Allerdings ist das in der ETS ziemlich aufwändig zu realisieren.

                                Zitat von willisurf Beitrag anzeigen
                                Das ist Waldemar‘s Verdienst.
                                Danke - Dein Feedback ist aber auch durchaus etwas, was einen fordert .

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X