Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

    Ich hab jetzt auch mal ein bisschen mit dem VPM herumgespielt und muss sagen ich bin schwer begeistert . Ist zwar am Anfang ganz schön viel auf einmal, aber die Möglichkeiten sind einfach Hammer .
    Ich hätte jetzt aber ein, zwei Fragen zu den Logiken. Ich hab hier folgende Situation die ich momentan mit edomi löse, aber lieber im VPM hätte.
    Ich prüfe die Rückmeldung meiner 26 Leuchten ob diese ein sind und schalte sobald die erste an ist das erste Netzteil ein. Wenn alle Leuchten aus gehen dann hab ich eine Verzögerung von 5min bis das Netzteil wieder aus geht.
    Soweit hab ich die Logik im Logikmodul nachgebildet bekommen, funktioniert einwandfrei.
    Dazu nur eine kurze Frage, ist es richtig das ich hierfür 13 Logikgatter benötige, da 26 Eingänge?
    Wenn ja passts und ich hab alles richtig gemacht 😅.

    So nun kommt der schwierigere Teil.
    Insgesamt sind es 3 parallel geschaltene Netzteile die ich je nach Leistung zu, bzw. weg schalte. Ich prüfe die Leistung der 3 Netzteile über einen Strommessaktor und die Logik ist wie folgt:
    Ist die Summe aller Leistungen der NT >500W dann schaltet das zweite NT EIN.
    Ist die Summe aller Leistungen der NT >900W dann schaltet das dritte NT EIN.

    Ist die Summe aller Leistungen der NT <450W dann schaltet das zweite NT AUS.
    Ist die Summe aller Leistungen der NT <850W dann schaltet das dritte NT AUS.

    Jetzt hab ich im Eifer des Gefechtes gesehen das DTP14 noch gar nicht unterstützt wird. Hat mir mumpf aber auch glaub ich schonmal im Modbus Thread geschrieben 😅.

    Die Frage ist dann wohl eher für die Zukunft. Denk ihr das so eine Logik mal irgendwann möglich wird?
    Also Summenbildung von DTP14 und das Ergebnis dann noch mit größer, kleiner vergleichen?​
    Gruß Ben

    Kommentar


      Hi Ben,

      Zitat von stonie2oo4 Beitrag anzeigen
      Dazu nur eine kurze Frage, ist es richtig das ich hierfür 13 Logikgatter benötige, da 26 Eingänge?
      Ja, Du hast alles richtig gemacht. Meine Logikkanäle haben je 2 externe und 2 interne Eingänge. Somit sind 13 Gatter für 26 externe Eingänge das Minimum.

      Zitat von stonie2oo4 Beitrag anzeigen
      Die Frage ist dann wohl eher für die Zukunft. Denk ihr das so eine Logik mal irgendwann möglich wird?
      Also Summenbildung von DTP14 und das Ergebnis dann noch mit größer, kleiner vergleichen?​
      Also: DPT14 läuft bei mir schon, ich bin eigentlich schon seit einem Monat dabei, ein Release zu "schnüren". Gab ein paar Rückschläge (nicht im Logikmodul, aber in den Applikationen, die damit im Bundle sind), aber ich glaube, jetzt passt alles. Ich will das (hoffentlich noch diese Woche) Releasen.

      Summenbildung geht auch, ich habe aber nicht verstanden, woher die Leistungsmessung kommt. Und Hysterese geht auch schon. Wenn ich verstanden habe, wie Du die Einzelleistungen für die Summenbildung bekommst, kann ich Dir vielleicht auch Tipps geben.

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


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

        Kommentar


          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 😉.
          Gruß Ben

          Kommentar


            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
            OpenKNX www.openknx.de

            Kommentar


              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?
              Gruß Ben

              Kommentar


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

                Kommentar


                  Dankeschön, ja ich sollte wohl erstmal ein bisschen mehr lesen 😅. Sorry.
                  Habs gefunden.
                  Gruß Ben

                  Kommentar


                    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
                    OpenKNX www.openknx.de

                    Kommentar


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

                      Kommentar


                        Vielen Dank für die ausführliche Erklärung, das erleichtert es mir erheblich .
                        Gruß Ben

                        Kommentar


                          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

                          Kommentar


                            gespeichert wird bei stromausfall.
                            OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

                            Kommentar


                              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
                              OpenKNX www.openknx.de

                              Kommentar


                                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?



                                Kommentar

                                Lädt...
                                X