Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

  • mgeramb
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Viele Wege führen nach Rom... einfacher:
    Danke für den Tipp, viel einfacher!

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Viele Wege führen nach Rom... einfacher:

    Eingang 1 (z.B. DPT5), Wertintervall (alle Werte liegen im Intervall), ODER, Ausgang DPT5, Wert von Eingang 1 senden.

    Oder der einfachste Weg: Am KO von Eingang 1 das L- und das Ü-Flag setzen. In diesem Fall wird aber nicht die Kanalwartezeit des Logikkanals berücksichtigt.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mgeramb
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Ja, jeder gespeicherte Wert triggert nach dem Neustart normal den Logikeingang, an dem er gespeichert wurde. Führt also genau zum gleichen Verhalten, als wenn der Wert über das Eingangs-KO gesendet worden wäre.
    Danke, ich habs jetzt hinbekommen und es klappt auch mit GA die Byte Werte haben 😀 Das Logik Modul ist echt super, man braucht nur etwas Phantasie!
    1. TOR Logik, Tor geht sofort wieder zu, Beim öffnen von Tor wird "Eingangswert gesendet"
    2. Eingang 1 als Byte, Eingangswert speichern, nicht vorbelegt, Eingangskonverter ist egal
    3. Eingang 2 als Bit, Nicht speichern, vorbelegt mit 1
    4. Ausgang als Byte, Wert für EIN senden "Ja, von Eingang 1", Wert für AUS senden "Ja, von Eingang 1"
    5. Eingang 1 und Ausgang mit der selben GA verbinden die gespeichert werden soll
    6. Eingang 2 bleibt unverbunden.
    Nun wird der Wert der auf der GA vom Bus kommt gespeichert, nach einem Busspannungsausfall schickt die Logik den gespeicherten Wert auf den Bus. Etwas kompliziert aber es geht!!!

    Wenn du nicht planst das speichern als eigene Logik in einer künftigen Version anzubieten, wäre die Beschreibung in der Doku super aufgehoben. Soll ich einen PR machen?



    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Genauer gesagt: Bei Stromausfall, vor einer Neuprogrammierung oder vor einem "Gerät neu starten" durch die ETS. Rein nach dem Motto: So selten wie möglich, so oft wie nötig. Ein Reset über die Reset-Taste oder der Watchdog führt nicht zum speichern, weil wir vorher keine kontrolle bekommen.

    Zitat von mgeramb Beitrag anzeigen
    Kann man die Logik so programmieren, dass ein gespeicherter Wert nach einem Stromausfall auf den Bus gesendet wird?
    Ja, jeder gespeicherte Wert triggert nach dem Neustart normal den Logikeingang, an dem er gespeichert wurde. Führt also genau zum gleichen Verhalten, als wenn der Wert über das Eingangs-KO gesendet worden wäre.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • traxanos
    antwortet
    gespeichert wird bei stromausfall.

    Einen Kommentar schreiben:


  • mgeramb
    antwortet
    Ich habe 2 Fragen zum Speichern eines Eingang-KO:

    Wir jedes Eingangsdiagramm sofort im Flash persistiert oder erst bei Bus-Stromausfall (Ich mache mir nämlich Sorgen den Flash durch zuviele Schreibvorgänge zu zerstören)?

    Kann man die Logik so programmieren, dass ein gespeicherter Wert nach einem Stromausfall auf den Bus gesendet wird?

    Liebe Grüße, Michael

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Vielen Dank für die ausführliche Erklärung, das erleichtert es mir erheblich .

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von mumpf Beitrag anzeigen
    das ist fast richtig
    Ja genau, die meinte ich. Die Grundrechenarten und viele Boole Operationen sind ja bereits hinterlegt.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Danke willisurf, das ist fast richtig

    Hier sollten nicht die Benutzerdefinierten Formeln genutzt werden, sondern die Standardformeln. Benutzerdefinierte Formeln erfordern ein Compilieren eines eigenen Logikmoduls, und das ist für simple Summen nicht nötig, das ist schon implementiert.

    Zitat von stonie2oo4 Beitrag anzeigen
    Jetzt hab ich mich aber trotzdem gefragt wie man mit dem Logikmodul rechnen kann.
    Rechnen findest Du in der Augangsebene des Logikmoduls. Grundidee vom Logikmodul ist immer, dass neben der Logikoperation auch noch der Ausgangswert verändert werden kann. Man kann also statt einfach nur ein EIN (DPT1) auch ein 33% (DPT5.001) ausgeben. Oder eben die Summe aus beiden Eingängen.
    Im allgemeinen kann man sagen, dass Du mit jedem Kanal "bedingt" rechnen kannst. Das was Du bisher genutzt hast, ist eben ein +0.

    Was Du machen musst:
    Eingang 1/2: DPT9 (später dann DPT14), Wertintervall [-100;5000], Logik OR mit einem Eingang, Ausgang DPT9, Summe E1 und E2.

    Über die ganzen restlichen Einstellungen kannst Du all die Spielereien wie Treppenlicht, verzögertes Senden (kann bei komplexen Formeln sinnvoll sein), Wiederholen etc. machen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Dankeschön, ja ich sollte wohl erstmal ein bisschen mehr lesen 😅. Sorry.
    Habs gefunden.

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Ja, schau mal in die benutzerdefinierten Formeln. Am besten gleich in der Applikationsbeschreibung.
    Zuletzt geändert von willisurf; 14.02.2023, 12:51.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Das freut mich jetzt richtig dass das (bald) geht 😄.
    Jedem einzelnen Lichtkreis eine Leistung zuzuordnen fände ich zu umständlich.
    Ich hab das mal am Anfang getestet ab welcher Leistung (Eingansseitig AC) das erste NT in den Boost schaltet und hab noch bisschen Puffer drauf gepackt. Ich denke so ist es am simpelsten.
    Danke für den Tipp, kann tatsächlich die Summe des gesamten Aktors ausgeben. Und da nur die Netzteile dran hängen passt das.
    Dann spar ich mir sogar noch 2 Logik-Kanäle.

    Jetzt hab ich mich aber trotzdem gefragt wie man mit dem Logikmodul rechnen kann. In der Logikdefinition -> Logik-Operation kann ich ja nur logische Verknüpfungen wählen. Hab ich hier etwas übersehen?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von stonie2oo4 Beitrag anzeigen
    Die 3 Netzteile hängen an 3 Kanälen von einem MDT-Wirkleistungs-Schaltaktor. Somit hab ich für jedes Netzteil den Leistungswert von dem Aktor.
    Ah, das geht einfach. Ich dachte, Du willst jedem der 26 Lichtkreise eine Leistung zuordnen und dann die eingeschalteten aufsummieren. Aber wenn Du sowieso schon die Leistung misst, dann passt das ja. Kann die Summe im Aktor berechnetn werden oder brauchst Du dafür das Logikmodul?

    Reine Logikmodul-Lösung:

    Kanal1: P1 + P2 -> A1
    Kanal2: A1 + P3 -> A2
    Kanal3: A2 -> Hysterese [450; 500] -> Schaltet NT2
    Kanal4: A2 -> Hysterese [850; 900] -> Schaltet NT3

    Eigentlich recht "straight forward"

    Gruß,
    Waldemar

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Wow das ist ja Mega 😁😁. Freut mich zu hören.
    Die 3 Netzteile hängen an 3 Kanälen von einem MDT-Wirkleistungs-Schaltaktor. Somit hab ich für jedes Netzteil den Leistungswert von dem Aktor.
    Falls man das ganze eleganter lösen kann, freu ich mich natürlich über jeden Tip 😉.

    Einen Kommentar schreiben:


  • dhb2002
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Ich will das (hoffentlich noch diese Woche) Releasen.
    Super, ich warte auch schon ;-)

    Einen Kommentar schreiben:

Lädt...
X