Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

OpenKNX-Logikmodul release

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

  • mumpf
    antwortet

    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

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    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.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    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

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    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.​“

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    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.

    Einen Kommentar schreiben:


  • Benni620
    antwortet
    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.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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


    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von Benni620 Beitrag anzeigen
    Darunter ist das Lesen, nach dem Programieren. Da kommt dann keine Antwort mehr.
    Die Logik, welche die Szene erzeugt, muss alle Eingangswerte nach einem Neustart einlesen. Das kannst Du einzeln überprüfen und danach wird auch der Ausgangswert der Logik gültig sein und auf einen Readrequest antworten. Das könntest Du erstmal sicherstellen. Für die Tests musst Du auch nicht jedes Mal programmieren, es genügt das Gerät über die ETS zurückzusetzen.

    Aktuell gibt es in Bezug auf das Einlesen der Tagesphasen nach einem Reset noch einen Bug. Den hat Waldemar mumpf allerdings schon analysiert.
    Der Wert der Szene muss trotzdem nach einem Neustart gültig sein, das kannst Du schon vorab erledigen.
    Zuletzt geändert von willisurf; 09.02.2025, 18:24.

    Einen Kommentar schreiben:


  • Benni620
    antwortet
    Ich hab da mal ne Frage, oder ein Problem

    Mit dem Logikmodul Geb ich Tag/Nacht über Scenen vor, funktioniert 1A bis ich an dem Gerät was ändere und programiere. Dann hab ich ein komisches verhalten (oder vielelicht blick ich nur was ned, bzw. hab nen Denkfehler..)

    Logik.png

    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. Dementsprechend funktioniert mein VPM dann nicht wie gewünscht, was Zuhause nicht immer zu guter Laune führt..


    Nachdem dem der nächste Wechsel der Tagesphase von der Logik angestoßen wird, scheint alles wieder normal zu funktionieren. Jetzt ist halt die Frage ist das normales verhalten, hab ich Blödsinn gebaut oder ist das ein Bug?

    Das ganze läuft auf nem Multisensor (SensorModule-Big-4.0.2) ich arbeite mit der ETS 6.3

    Ga.png Sind lediglich die beiden in der GA

    Das ist die Konfiguration von der Logik:
    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​
    Danke schon mal für die Unterstützung
    Angehängte Dateien

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von Alloc Beitrag anzeigen
    Kann man ja gegebenenfalls in der Doku mit einarbeiten, dass das eindeutig ist
    Ja, ich aktualisiere die Doku immer wieder und es wird sicherlich beim nächsten Update einfließen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • traxanos
    antwortet
    ja, macht es komplizierter aber soviel effektiver. man vermeidet unnötige daten auf dem bus.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Kann man ja gegebenenfalls in der Doku mit einarbeiten, dass das eindeutig ist
    Find dieses "schreiben in ein anderes KO" aber echt praktisch. Bei anderen Herstellern kannte ich bisher höchstens "Eingang aus KO", das ist hier nochmal ein anderes hilfreiches Level.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Chris,

    danke für das Feedback. Die Doku ist hier, dieser Punkt ist aber zugegebenermaßen noch auf dem Stand, als es nur absolute und noch nicht relative interne KO-Verknüpfungen gab.
    Ich bekomme das aktuell nicht hin, da ein "nur" voranzustellen. Derzeit werden die selben Dropdowns für alle Verknüpfungen genutzt und das nur würde dann beim Eingang komisch aussehen. Und ein "nur" würde wahrscheinlich nicht in die Dropdown passen und ich kann sie nicht breiter machen wegen der Tabelle.
    Alles in allem wäre das ein großer Umbau, zu dem ich derzeit nicht bereit bin. Deswegen muss Du Dir das "nur" aktuell vorstellen .

    Da ich sowieso überlege, den gesamten Ausgangskonverter umzustellen, würde ich Deinen Vorschlag dann erst einarbeiten.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Hi Waldemar,

    ich konnte hier im Thread und in der Doku nichts eindeutiges dazu finden, daher hier mal die Nachfrage: Bei den Logikausgängen gibt es ja die Option die Werte an zusätzliche KOs zu schicken:
    image.png
    Vom eigentlichen Text her und der Doku würde ich das so verstehen, dass die Werte immer an das eigene KO (in dem Fall 855) geschickt werden, und dann optional noch zusätzlich an ein Auswählbares.
    In dem Fall fände ich die Option "Eigenes KO" verwirrend, denn das suggeriert ja ein bisschen, dass hier die Auswahl besteht, entweder auf das eigene oder ein anderes KO zu schreiben. Da würde ich dann eher sowas wie "Inaktiv" oder "Nur eigenes KO" erwarten, um das eventuell etwas klarer zu machen. (Analog dann natürlich auf der Übersichtsseite der Logikverknüpfungen).

    LG,
    Chris
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Theees
    antwortet
    Zitat von mxcxpx Beitrag anzeigen
    wie erzeuge ich die Applikation dafür?
    danke
    Hier gibt es mittlerweile auch ein Video wo gezeigt wird wie das mit Powershell funktioniert: https://youtu.be/lXHyo1PCRFI?si=CLqdmjID2dn9vW41

    Aber die neue Toolbox funktioniert auch sehr gut.

    Einen Kommentar schreiben:

Lädt...
X