Zitat von mumpf
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
OpenKNX-Logikmodul release
Einklappen
X
-
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:
-
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!Zitat von mumpf Beitrag anzeigenJa, 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.- TOR Logik, Tor geht sofort wieder zu, Beim öffnen von Tor wird "Eingangswert gesendet"
- Eingang 1 als Byte, Eingangswert speichern, nicht vorbelegt, Eingangskonverter ist egal
- Eingang 2 als Bit, Nicht speichern, vorbelegt mit 1
- Ausgang als Byte, Wert für EIN senden "Ja, von Eingang 1", Wert für AUS senden "Ja, von Eingang 1"
- Eingang 1 und Ausgang mit der selben GA verbinden die gespeichert werden soll
- Eingang 2 bleibt unverbunden.
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:
-
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.
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.Zitat von mgeramb Beitrag anzeigenKann man die Logik so programmieren, dass ein gespeicherter Wert nach einem Stromausfall auf den Bus gesendet wird?
Gruß, Waldemar
Einen Kommentar schreiben:
-
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:
-
Vielen Dank für die ausführliche Erklärung, das erleichtert es mir erheblich
.
Einen Kommentar schreiben:
-
Ja genau, die meinte ich. Die Grundrechenarten und viele Boole Operationen sind ja bereits hinterlegt.Zitat von mumpf Beitrag anzeigendas ist fast richtig
Einen Kommentar schreiben:
-
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.
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.Zitat von stonie2oo4 Beitrag anzeigenJetzt hab ich mich aber trotzdem gefragt wie man mit dem Logikmodul rechnen kann.
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
- Likes 1
Einen Kommentar schreiben:
-
Dankeschön, ja ich sollte wohl erstmal ein bisschen mehr lesen 😅. Sorry.
Habs gefunden.
Einen Kommentar schreiben:
-
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:
-
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?Zitat von stonie2oo4 Beitrag anzeigenDie 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.
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
- Likes 1
Einen Kommentar schreiben:
-
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:
-
Super, ich warte auch schon ;-)Zitat von mumpf Beitrag anzeigenIch will das (hoffentlich noch diese Woche) Releasen.
Einen Kommentar schreiben:


Einen Kommentar schreiben: