Ankündigung

Einklappen
Keine Ankündigung bisher.

Szenen - Unzulänglichkeiten via Homeassistant oder OpenKNX Logikmodul umschiffen?

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

    Szenen - Unzulänglichkeiten via Homeassistant oder OpenKNX Logikmodul umschiffen?

    Hallo,

    ich hab folgende Schwierigkeit mit Szenen:
    - mein DALI Gateway kann nur eine GA für Szenen. D.h. die Szenen, die ich im Haus verwende müssen eindeutlig sein (d.h. im ganzen Haus gibt es nur eine Szene 1
    - mein Jalousieaktor kann nur Szenen von 1-8, allerdings eine eigene GA pro Kanal

    Jede der beiden Einschränkungen für sich wäre nicht so das Problem... Die Kombination sorgt aber dafür, dass ich im Haus nur 8 Szenen mit Beteiligung von Verschattung definieren kann.

    Prinzipiell ist es mir wichtig, dass das Haus robust ist. Daher möchte ich eigentlich gerne alles möglichst mit KNX Komponenten und ohne Server erreichen.

    Allerdings ist es viel komfortabler, Szenen eben am Handy umzudefinieren...
    Zudem habe ich bei einigen Szenen Geräte, die kein KNX können dabei (tasmota Funksteckdosen). Diese hören via HomeAssistant auf KNX*; Bei diesen ist Zuverlässigkeit jetzt nicht soooo wichtig.

    Was mach ich jetzt also:
    a) Szenen in Homeassistant
    b) Ein Mapping der Szenen im Logikmodul. Beispielsweise:
    Dali Gateway bekommt die Szenen GA 1/1/1
    Kanal 1 des Jalousieaktors bekommt GA 1/1/1
    Kanal 2 des Jalousieaktors bekommt GA 1/1/2
    Haus verwendet Szenen von 1-128 auf GA 1/1/1.
    Logikmodul übersetzt die Szenen 9-16 auf 1-8 auf GA 1/1/2 (szenen 1-8 müssen ja nicht übersetzt werden)
    c) andere Ideen?

    mumpf, meti vielleicht könnt ihr hier helfen?

    Gruß,
    Hendrik


    *) ich weiß, dass es auch Tasmota-Knx gibt, das ist aber nicht so robust, wg. UDP via WIFI...

    #2
    Hi Hendrik,

    an sich weißt Du, was ich antworten werde und auch was meti sagen wird , oder?

    Ich habe im Haus mehrere Logikmodule (weil mehrere OpenKNX-Geräte und fast jedes hat ein Logikmodul) und verwende sehr gerne dezentrale Logiken. Generell sage ich mir aber auch, dass wenn für eine Funktion verschiedene Medien gebraucht werden, so dass ich sowieso KNX verlassen muss und was im HA machen muss, dann kann ich auch die gesamte Funktion in HA abbilden. Außer: Es gibt eine klare Unterscheidung zwischen "Grundfunktion" und "Komfortfunktion". Wenn die "Grundfunktion" in KNX abbildbar ist, dann bleibt die in KNX.
    Somit wäre Dein Fall für mich klar:
    • Verschattung ist "Grundfunktion"
    • Nur "Komfortanteile" sind außerhalb von KNX
    • Ich würde das Logikmodul nehmen für Grundfunktionen und HA für die Komfortfunktionen
    Vielleicht sollte ich noch erwähnen, dass "Komfortfunktion" für mich heißt, ich möchte sie nicht missen, aber es ist nicht schlimm, wenn sie mal nicht läuft. Auf "Grundfunktionen" kann/möchte ich auf keinen Fall verzichten.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #3
      Hallo,

      danke für die flotte Antwort, Waldemar.
      Ja, das entspricht genau meiner Denke.
      Was mich bei diesem hybriden Ansatz allerdings stört:
      Man hat nicht alles an einem Ort. Da muss ich mir noch überlegen, ob die Robustheit mir das Wert ist...
      Zitat von mumpf Beitrag anzeigen
      meti sagen wird , oder?
      Ich fürchte, er wird sagen dass KNX-Szenen und HA-Szenen nicht so miteinander können.
      Es scheint mir auch, als wären KNX-Szenen in HA Write-Only, d.h. man kann nur senden.
      Um von einer KNX-GA eine Homeassistant-Szene auszulösen braucht man - glaube ich - eine Automation. Und um eine Szene zu speichern eine weitere :-(

      Alles unbefriedigend.

      Gruß,
      Hendrik

      Kommentar


        #4
        Wichtig: Mein Logikmodul kann keine "lernenden" Szenen, diese auch nicht weiterleiten. Du kannst Dir aber mit DPT5 weiterhelfen, damit geht alles. Für Szenen hab ich nur DPT17.* (Szenen Nummer) und nicht DPT18.* (Szenensteuerung) implementiert. Aber wie gesagt, es ist vollkommen OK, wenn Du im Logikmodul mit DPT5 arbeitest, diesen KO kannst Du ja auch GA mit DPT18 zuweisen.

        Zitat von henfri Beitrag anzeigen
        Man hat nicht alles an einem Ort. Da muss ich mir noch überlegen, ob die Robustheit mir das Wert ist...
        Ich überlege das auch Fall für Fall, bei Verschattung wäre es mir das Wert - alleine schon deswegen, weil mein bisheriger Server ausgestiegen ist und sich damit wieder der SPOF gezeigt hat.

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #5
          Hallo,

          ja, verstehe ich. Ich muss ja auch im Logikmodul nicht lernen. Ich muss nur von der Zahl die ankommt 8 / 16 / 24 subtrahieren. Das funktioniert dann fürs abrufen und auch für das Speichern.

          Wobei... so einfach ist das nicht...
          Für Zahlen von 9-16 müssen 8 subtrahiert werden und an 1/1/2 gesendet werden
          Für Zahlen von 17-24 müssen 16 subtrahiert und an 1/1/3 gesendet werden.

          Ach mann.
          Da muss man ja auch die Wartbarkeit berücksichtigen. Wenn ich mal nicht (mehr) verfügbar bin, blickt da niemand durch.

          Gruß,
          Hendrik
          Zuletzt geändert von henfri; 23.06.2024, 16:46.

          Kommentar


            #6
            Zitat von henfri Beitrag anzeigen
            Da muss man ja auch die Wartbarkeit berücksichtigen. Wenn ich mal nicht (mehr) verfügbar bin, blickt da niemand durch.
            Das ist unabhängig vom Logikmodul. Dir muss klar sein, schon mit Deinem Tasmota-Ansatz hast Du Dich von Fremdwartung ausgeschlossen. Selbst wenn jemand bereit wäre, sich da einzuarbeiten (was ich bezweifle), wirst Du (oder Dein Nachfolger) das nicht bezahlen können. Das gleiche gilt für HA und auch für mein Logikmodul.

            Ist meine Meinung an der Stelle...

            Gruß, Waldemar

            P.S.: Im Logikmodul ist so ein Dispatching 9-16 macht -8 und sendet es an 1/1/2, 17-24 macht ein -16 und sendet es an 1/1/3 mit jeweils einem Kanal möglich und ist IMO sehr übersichtlich.
            OpenKNX www.openknx.de

            Kommentar


              #7
              Ja, da hast du Recht.

              Zitat von mumpf Beitrag anzeigen
              P.S.: Im Logikmodul ist so ein Dispatching 9-16 macht -8 und sendet es an 1/1/2, 17-24 macht ein -16 und sendet es an 1/1/3 mit jeweils einem Kanal möglich und ist IMO sehr übersichtlich.
              Oh, gib mir bitte mal einen Stups in die richtige Richtung. Ich hab hier https://github.com/OpenKNX/OAM-LogicModule/blob/main/doc/Applikationsbeschreibung-Logik.md zwar "addition" gefunden, aber in der ETS scheitere ich einfach schon bei der Logik-Operation.

              Kommentar


                #8
                Ich mach das mal exemplarisch für E1 (Werte 9-16) sendet "E1 minus 8" an den Ausgang (der dann mit 1/1/2 verknüpft werden kann).

                Bei einem Logikkanal meines Logikmoduls musst Du immer 2 Signalwege betrachten:
                1. Die "analogen" Signale auf dem Bus, z.B. DPT5 mit Werten 0-255, die am Eingang und am Ausgang anliegen können.
                2. Die rein digitale Verarbeitung intern, die nur die Werte 0, 1 und undefiniert kennt.
                Damit 2. funktionieren kann, obwohl in der Realität nur 1. existiert, muss jedes Eingangssignal über einen Eingangskonverter in ein digitales Signal gewandelt werden.
                Und jedes digitale Ausgangssignal von einem Ausgangskonverter wieder zurück in ein analoges Signal. Das ist ein Grundprinzip, und wenn man das nicht verinnerlicht hat, kann man mein Logikmodul nicht effizient nutzen.

                Du willt bei dieser Aufgabenstellung primär auf der analogen Seite arbeiten. Du willst den "analogen" Wert von E1 nehmen und davon 8 subtrahieren. Das kann nur auf der Ausgangskonverter-Seite passieren, der kann eine 1 (oder eine 0) wandeln als "Wert einer Funktion" und die Funktion ist "A = E1 - E2".

                Aha, man braucht also 2 Eingänge, E1 wird DPT5 und kann Deine Szene empfangen. E2 wird DPT5, "Konstante (für Formeln)" mit dem Wert 8. Und beim Ausgang sagen wir wirklich DPT5, Wert für EIN senden als "Wert einer Funktion" und die Funktion ist "A = E1 - E2". Bei Wert für AUS senden sagen wir "Nein".
                Jetzt würde der Ausgang E1-8 senden, wenn er LOGISCH EIN wird. Das müssen wir jetzt erreichen.

                Was ist auf der Logikseite zu beachten? Bei E2 steht was "Konstante Werte liefern immer eine 1". Wenn Du also ein UND nimmst und E1 dazu bekommst, passend zu Deinem Wertintervall 9-16 auch auf logisch 1 zu gehen, würde das UND wahr werden und den Ausgang auf 1 gehen lassen. Der Ausgangskonverter rechnet dann und Du bekommst E1-8 auf den Ausgang geschickt.

                Wenn Du beim Eingang 1 den DPT5 einstellst, bekommst Du gleich die verfügbaren Eingangskonverter präsentiert. Gleich der erste ist "Wertintervall". Da kannst Du einen Von- und einen Bis-Wert einstellen. Innerhalb dieses Intervalls wird der Eingang logisch 1, außerhalb 0. Wenn Du da also Von=9 und Bis=16 einträgst, hast Du das was Du willst.

                Mal durchspielen, erstmal den Positiv-Fall:
                E1 wird 12, Wertintervall wird 1, UND wird wahr (E2 ist immer 1) und der Ausgang wird 1. Der Ausgangskonverter rechnet 12-8 und sendet eine 4 auf den Ausgang.
                Negativ-Fall.
                E1 wird 5, Wertintervall wird 0, UND wird falsch und Ausgang wird 0. Bei 0 soll der Ausgang nichts senden.

                Alles prima, oder? Mit einem Kanal hast Du ein Mapping von einem Wertebereich in einen anderen. Und Du sendest auf eine Dir "genehme" GA .

                Für weitere Szenenbereiche machst Du das selbe auf einem weiteren Kanal und passt den Eingangskonverter und die Konstante bei E2 an.

                Gruß, Waldemar

                P.S.: Ich hab das jetzt nicht ausprobiert, aber bei DPT5 musst Du mit den Werten rechnen, die auf dem Bus sind. Szene 1 wird auf dem Bus als 0 gesendet. Die Intervalle sind also 0-7, 8-15, 16-23 usw. Sonst stimmt alles.
                Zuletzt geändert von mumpf; 23.06.2024, 20:56.
                OpenKNX www.openknx.de

                Kommentar


                  #9
                  Hallo Waldemar,

                  vielen Dank für die ausführliche Erklärung. Ich hab sie verstanden, muss aber etwas falsch machen.
                  Es wird kein Wert vom Logikmodul gesendet.
                  Siehst du einen Fehler (siehe Anhang)


                  Gruß,
                  Hendrik
                  Angehängte Dateien

                  Kommentar


                    #10
                    Ja, der 3. Eingang im UND (Kanalausgang X) muss raus, damit sperrst Du ja das UND. Siehe Infobox auf Bild 2. Einfach inaktiv setzen. Im neuen Release heißen die auch "Interner Eingang 3" und "Interner Eingang 4", ich hoffe, dann denken die Leute nicht mehr, dass das was mit dem Ausgang des aktuellen Kanals zu tun hat (hast Du auch gedacht, oder? Es sind aber Eingänge).

                    Ferner arbeitest Du mit DPT5.001, das ist ein Prozentwert. Damit wirst Du falsche Werte erhalten, weil ja alle Buswerte (0-255) auf Prozent (0-100) umgerechnet werden.

                    Beispiel:
                    25 (Wert auf dem Bus) ergibt 25/255*100 = 10% (passt in das Wertintervall), dann die Formel 10-8 = 2, jetzt der Ausgangskonverter rechnet 2 als DPT5.001 auf Buswert 2/100*255=5. Die 5 wird gesendet. Und Du denkst, ich kann nicht rechnen .
                    Du willst aber 25 - 8 = 17 haben. Und noch genauer willst Du 25 gar nicht verarbeiten, weil es nicht im "gedachten" Wertintervall für diesen Kanal liegt.

                    Du solltest DPT5 nehmen, sowohl für die Eingänge wie auch für den Ausgang. Oder DPT17, also Szenen, und dann das Wertintervall von 9-16 wählen.

                    Sonst sieht das gut aus!

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      #11
                      Bingo!
                      ETS6N_bQ0q1TUpIE.png​Danke!!

                      Kommentar


                        #12
                        Prima... kaum macht man es richtig, schon funktioniert es .

                        Ich sehe auch, dass Du jetzt Szenen nutzt - super. Dann viel Spaß mit dem Dispatcher.

                        Gruß, Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          #13

                          Hallo,

                          noch ein Gedanke:
                          Ich hab beim Dali-GW ja nur ein einziges KO.
                          Dennoch könnte ich ja pro Raum eine Szenen-GA verwenden (und dann halt mehrere GAs mit dem KO verbinden)

                          Aber bringt das Vorteile?

                          Gruß,
                          Hendrik

                          Kommentar


                            #14
                            Ja klar.

                            Du kannst dann raumlokale Szenen haben, alle die gleiche Nummer, die dann vom DALI nicht beachtet werden, aber in den Räumen passende Aktionen auslösen. Wenn an der Szene natürlich auch Licht beteiligt ist, dann muss sie im Wertebereich liegen, die auch das DALI-Gateway kennt.

                            Gruß, Waldemar
                            OpenKNX www.openknx.de

                            Kommentar


                              #15
                              Das Dali GW kann ja alle Szenennummern, aber nur ein KO.
                              Die Jalousieaktoren können 1-8 aber haben ein KO pro Kanal.
                              Klar könnte ich Szenen ohne Jalousieaktor > 8 nutzen, wenn ich ne eigene GA dafür mache. Aber das wird zu komplex. Und ich hab ja jetzt den Konverter.
                              Allerdings muss ich bei dem ja auch aufpassen mit den ausgehenden GAs.

                              Vielleicht mache ich es so:
                              Raum Normale SzenenGA Jalousieaktor SzenenGA
                              1 10/1/1 10/2/1
                              2 10/1/2 10/2/2
                              Usw.
                              Alle Aktoren und das Logikmodul hören auf Mittelgruppe 1. Nur die Jalousieaktoren hören auf MG 2.
                              ​​​​​

                              Kommentar

                              Lädt...
                              X