Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

  • mumpf
    antwortet
    Ich werde die Feiertage nicht so schnell anpassen. Nicht weil ich nicht will, sondern weil ich intern nur 32 Bit für die Feiertage reserviert habe und es inzwischen 32 sind. Und bevor ich diese Datenstruktur verändere, muss es einen guten Grund geben. Und sorry, aber ein fester (also nichtbeweglicher) Feiertag ist für mich kein guter Grund, denn das kannst Du einfach mit einer Zeitschaltuhr lösen. Ich werde aber ein Beispiel in die Alltagsprobleme aufnehmen, damit auch andere noch Feiertage nachtragen können.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • abeggled
    antwortet
    mumpf: Waldemar, könntest du, wenn du die Feiertage anpasst, den 1. August als Nationalfeiertag (CH) mit aufnehmen?
    Kein Stress, kommt ja erst in fast einem Jahr wieder

    Vielen Dank.

    Einen Kommentar schreiben:


  • Marino
    antwortet
    Dem kann ich mich nur anschließen. Vielen Dank für die Erläuterungen.

    Ich habe zuerst an Formel gedacht und damit einfach mal probiert. Vor allem, da ich noch nicht damit gearbeitet hatte, bisher. Aber gut zu wissen, dass es auch einen einfacheren Weg gibt.
    Die IF-Bedingung ist halt einfach gedacht. Wenn eine Bedingung zutrifft, möchte ich das oder wenn etwas anderes zutrifft, dann was anderes. Ist direkt IF, Else

    Ich werde mir Deinen Weg aber auf jeden Fall auch anschauen. Stört ja nicht, wenn man sich mit dem Modul besser auskennt.


    Viele Grüße
    Nils

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Und ich hab dabei was gelernt/vertieft

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hallo Nils,

    vielen Dank für die positive Rückmeldung und es freut mich sehr, dass es auf anhieb geklappt hat. Und es gibt natürlich viele Wege zum Ziel, aber das ist nicht der, den ich empfehlen würde, wenn man einfache logische Aussagen treffen will. Benutzerformeln sind eher für komplexere mathematische Aufgaben gedacht, wie eine Taupunktberechnung oder das Volumen einer Zisterne in abhängigkeit von der Füllhöhe oder so. Du hast hier also sozusagen "mit Kanonen auf Spatzen geschossen".

    Anders gesagt, Dein Problem konnte man schon mit der ersten Version vom OpenKNX-Logikmodul von vor 2 Jahren lösen. Eine logische Bedingung kann man nicht immer nur durch ein if formulieren, warum das auch immer in den Köpfen der Leute so drin steckt.
    Wenn Du Dir den Eingang eines Logikkanals anschaust und den auf DPT9 stellst, steht da ein Eingangskonverter, der eine Einstellung erlaubt, wann dieser Eingang logisch 1 werden soll. Wenn Du da beim Wertintervall 0 bis 100 wählst (für die Benutzerformel wirst Du 0 bis 200 oder so gewählt haben), ist der Eingang EIN, wenn der Wert zwischen 0 und 100 liegt, sonst ist er AUS.
    Jetzt nur noch am Ausgang der Logik bei EIN den Wert vom Eingnang 1 senden, bei AUS den konstanten Wert 100 und Du hast das gewünschte Ergebnis, ganz ohne Benutzerformeln.

    Hier noch das Beispiel als Transfer-String:
    Code:
    OpenKNX,cv1,*/LOG:0x33/*§f~Name=Filter%20Luftfeuchte%20(nicht%20mehr%20als%20100%25)§f~Logic=2§f~NameInput1=Luftfeuchte%20vom%20TP§f~E1=1§f~E1Dpt=7§f~E1HighDpt9:1=100§f~NameOutput=Gefilterte%20Luftfeuchte§f~ODpt=7§f~OOn=2§f~OOnAll=2§f~OOffDpt9=100§;OpenKNX
    Bitte nicht als Kritik sehen, ich nutze solche Fragen/Beispiele auch gerne als Fortbildungsmaßnahme, um auch anderen, die hier mitlesen, die Möglichkeiten des Logikmoduls nahezubringen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Marino
    antwortet
    Ich habe gerade mal eine Benutzerformel getestet und wollte mal ein Feedback geben. Die Funktion hatte ich bisher nie getestet und es funktionierte beim ersten Versuch.

    Der Steinel TPM sendet gerne auch mal 102% Luftfeuchtigkeit beim Duschen, worauf ich immer wieder angesprochen worden bin. Also habe ich das nun einmal auf 100% begrenzt.
    Formel: if(e1>=100,100,e1)
    Also wenn Eingang 1 größer oder gleich 100 ist, gib 100 aus, sonst das, was an Eingang 1 anliegt. Falls jemand fragt, mir ist auch gerade aufgefallen, dass e1>100 auch gereicht hätte, aber so ist es nun parametriert und funktioniert
    Am Ausgang noch schnell auf DPT 9.xxx gestellt, Wert für EIN & Aus auf "Ja - Wert einer Funktion" und mit dem Wert "A=B1(E1,E2,A), Eingang mit der GA vom Steinel verknüpft und Ausgang mit dem GA für die Anzeige und es funktioniert.
    Vorher natürlich einfach mit Diagnosemonitor getestet und mit "Benutzerformel testen", was super funktionierte.
    Ich nutze es als ODER, da ich eh nur einen Eingang belege...

    Tolle Funktion und sehr nützlich. Vielen Dank dafür!
    So konnte ich schnell ein kleines Problem lösen, um den Feinschliff der Anzeige zu verbessern.


    Viele Grüße
    Nils

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Auch das Logikmodul hat heute einen kleinen Fix erhalten auf 3.3.1.

    Der Ausgangskonverter von irgendeiner Zahl auf DPT16 funktionierte nicht mehr. Ist irgendwann zu 1.2 kaputtgegangen, hat seitdem keiner gemerkt (ich auch nicht, weil ich es nicht mehr brauche). Ist somit sicherlich keine wichtige Funktion, wurde aber jetzt mal wieder gewünscht.

    Alles zu, Release 3.3 gesagte gilt natürlich auch für die 3.3.1.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • kleinklausi
    antwortet
    Ja, habe es gesehen. Danke trotzdem!

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    kleinklausi: Inzwischen gibt es ein Countdown-Beispiel im Thread zur Einführung in den Konfigurationstransfer: https://knx-user-forum.de/forum/proj...60#post1967860

    Falls Du das noch nicht gesehen hast.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • kleinklausi
    antwortet
    Super, danke Waldemar. Ich lese mich weiter ein!

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von kleinklausi Beitrag anzeigen
    gibt es eine Möglichkeit im Logikmodul eine Einschaltverzögerung mit berechnetem Wert (in Sekunden) zu belegen?
    Man bekommt das hin, aber es ist keine fertige Funktion. Ich hab in der Doku ein Beispiel für einen Betriebsstundenzähler (der zählt aber die Sekunden). Den könnte man jetzt immer runter zählen lassen, sobald ihm ein Sekundenwert gesetzt wird und bei 0 stoppen und eine Aktion auslösen. Mit dem neusten Logikmodul 3.3 geht das noch einfacher, weil jetzt Zähler ohne Rückkopplung auf den Eingang möglich sind und so versehentliche Schleifen vermieden werden.

    Also: Es wird gehen, aber man muss die passende Logik parmetrisieren und sie wird sicherlich aus mehreren Kanälen bestehen. Schau Dir das Zählerbeispiel in der Doku an und versuch es zu verstehen. Wenn Du noch Fragen hast, melde Dich einfach.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • kleinklausi
    antwortet
    Hallo,

    gibt es eine Möglichkeit im Logikmodul eine Einschaltverzögerung mit berechnetem Wert (in Sekunden) zu belegen?

    Hintergrund: ich will für ein Fenstermotor Positionsfahrten nachbauen. Der Motor wird über zwei Kontakte (Impulssteuerung) Auf und Zu gesteuert. Wobei ein weiteres Auf während der Fahrt den Motor stoppt (selbes für Zu). Ich muss also anhand der letzten Position und der anzufahrenden Position die Zeit berechnen und ein weiteres Telegramm senden.

    Vielen Dank und Grüße!

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Sprich: Sensormodul v5 ohne LM aber auf SAMD.
    Naja, das Sensormodul ist nicht so sehr von Erweiterungen betroffen. Auch im aktuellen Sensormodul (RP2040-Version) ist es ein verbesserter KNX-Stack und ein verbessertes Logikmodul, die zu einem Update führen. Im Sensormodul hat sich da nichts getan (außer einem UI-Redesign). Und genau die Änderungen am "Unterbau" sind es aber, die den SAMD "sprengen", da bleibt es also bei der bisherigen Infrastruktur.

    Ich werde noch einen halbautomatischen Upgrade-Pfad für das Sensormodul anbieten (mit unserem neuen Konfigurationstransfer), wenn jemand die Hardware wechseln möchte. Und wenn noch irgendwo ein grober Bug entdeckt wird, für den es keinen Workaround gibt, dann würde ich den fixen.

    Was ich nicht machen werde, ist neue Sensoren implementieren, falls das im neuen Sensormodul passieren sollte (ist nur hypothetisch, derzeit ist nichts geplant). Denn wer das SAMD-Modul verwendet, hat ja schon seine Sensoren dran, und die funktionieren ja. Und es sind recht viele möglich. Wer dann auf einen neuen Sensor wechseln will (falls es den mal gibt), müsste auch auf die neuere Hardware wechseln. Aber warum sollte man das machen? Temperatur bleibt Temperatur, egal von welcher Sensorgenaration gemessen .

    Ich hoffe, das deckt das ab, was Du wissen wolltest?

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Genau so... aber Du hast wahrscheinlich trotzdem einen Denkfehler drin .

    Wenn Du (was wahrscheinlich ist) Kanal 1 mit Einschaltverzögerung programmiert hast, dann denkst Du, dass ein Trigger am Eingang 1 den Wert, der getriggert hat, auch speichert. Das ist aber nicht der Fall. Der Ausgangskonverter vom Kanal 1 wird z.B. nach 30 Sekunden getriggert, und dann macht er das, was in der Anleitung steht: Er gibt den Wert von Eingang 1 auf den Ausgang. Und zwar den AKTUELLEN Wert. Wenn das noch der ist, der getriggert hat, ist das prima, wenn es ein neuer Wert ist, dann gibt er diesen Wert aus. Es gibt keinen Speicher im Loigkmodul, nut die KOs, die man als Speicher nutzen kann.

    Ich habe als Kanal 1 ein Tor, dass Auf- und sofort wieder Zugeht. Dadurch wird die aktuelle Luftfeuchte vom Eingang auf den Ausgang geschrieben. Das Tor wird jede Minute (per Zeitschaltuhr) getriggert, geht als jede Minute kurz auf. Damit hat man am Ausgang immer einen max. 1 Minute alten Wert.
    Das Differenzintervall lasse ich nur vom Eingang der akt. Luftfeuchte triggern. Damit wird immer, wenn eine neue Luftfeuchte reinkommt, mit dem anderen Wert verglichen, der max. 1 Minute alt ist. So weißt Du, ob innerhalb der letzten Minute der Wert stark gestiegen ist.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Ich werde jetzt erstmal den VPM mit der neuen Infrastruktur (und dem neuen Logikmodul) rausbringen (heute oder morgen), dann das Sensormodul (kommendes Wochenende). Beide aber nur für die RP2040-Hardware.
    Das verstehe ich.

    Die Frage ist, ob die SAMD Sensormodule mit dem alten Logikmodul weiter gepflegt werden können?
    Sprich: Sensormodul v5 ohne LM aber auf SAMD.

    Einen Kommentar schreiben:

Lädt...
X