Ankündigung

Einklappen
Keine Ankündigung bisher.

Wo Szenen programmieren?

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

    HS/FS Wo Szenen programmieren?

    Hallo!

    Ich habe mal eine taktische Frage

    Das lange Wochenende hat angefangen und ich habe endlich mal Zeit mich mit meinem Bus zu beschäftigen. Ich habe heute ein paar Präsenzmelder eingebunden und habe angefangen diese mit Aktionen zu belegen (in der ETS sprich: auf dem Präsenzmelder).

    Dann habe ich mir den Gira Experten angeschaut und festgestellt dass ich eigentlich diese Aktionen auch dort hätte machen können (wenn ich das richtig verstanden habe z.B. mit dem Logik-Editor).
    Das gleiche gilt für Szenen.

    Jetzt grübel ich gerade was besser / richtiger ist...

    Mache ich die gesamte Logik zentral auf meinem FS oder packe ich das "wichtige" auf die Geräte oder versuche ich soweit wie möglich ohne FS auszukommen und nutze den nur für erweiterte Sachen und Visu?

    Oder hab ich da generell einen Denkfehler?
    Gibt es da ein "best praktice" oder macht das jeder mal so oder so?

    Vielen Dank im voraus für Tipps und Anregungen!

    Alex





    #2
    Ganz generell: KNX ist ein dezentraler Bus. Fällt ein Gerät aus, dann gehen alle anderen noch und nur die Funktion von dem defekten Gerät fehlt. Das unterscheidet KNX von vielen anderen so genannten Smart-Home-Technologien.
    Auch wenn jedes KNX-Gerät eigentlich ein Computer ist, so würde ich doch damit rechnen, dass ein Sensor oder Aktor ein bisschen länger hält als ein vollwertiger Computer (wie z.B. der Homeserver). D.h. wenn du allerhand Funktion in den Homeserver steckst, sitzt du vermutlich irgendwann richtig im Dunkeln.

    Was mit wenig Kompromissen direkt über Sensoren und Aktoren möglich ist, solltest du auch dort abbilden. Der Homeserver kann sich dann darum kümmern, Dinge zu machen die ein bisschen Luxus und nice-to-have sind. Aber das Licht sollte auch ohne Homeserver noch einzuschalten gehen.

    just my 2 cents,
    Bernd

    Kommentar


      #3
      Klar, Grundfunktionalität muss auf den Taster (Licht an/aus etc). Aber darüber hinaus?
      Ich hab Schwierigkeiten eine logische Grenze zu definieren... vor allem weils ja auch unübersichtlich wird wenn ich große Teile auf den Geräten liegen habe, anderes aber auf dem HS.

      Schönes Beispiel wäre die Wetterstation. Mein L&J Aktor könnte die Windstärke direkt auswerten und die Jalousie hochfahren, kann ich aber auch über den HS, auf dem ich eh viel Logik für die Jalousien setzen muss (Sonneneinstrahlung -> Verdunkelung in Abhängikeit der Raumtemperatur etc).

      Kommentar


        #4
        Wenn die Verschattung nicht funktioniert, ist es ein bisschen warm im Haus. Wenn der Windalarm nicht funktioniert, fliegen dir vielleicht die Jalousien weg. Ich finde das ist schon ein Unterschied.

        Aber dass es mehrere Möglichkeiten für den gleichen Effekt gibt, bestreite ich sicher nicht. Wenn du den Anspruch hast, alle Funktion an einer Stelle abzubilden, dann muss das der Homeserver sein, denn nur der kann in jedes Gewerk eingreifen. Ich würde lieber auf die zentrale, konsistente Verwaltung verzichten und dafür auch noch ein funktionierendes Haus haben wenn der Homeserver das zeitliche segnet.

        Kommentar


          #5
          As mentioned above: what to control via the HS, and what directly through the bus devices, depends on how easily one can do without HS-controlled actions. Although in eight years of service our HS only has been 'down' once (due to a faulty power supply), I configure the standard actions through the bus devices and use the HS for the logic that cannot be easily done using bus devices.

          Specifically about scenes: I try to keep the telegrams to a minimum, primarily to ease troubleshooting which is occasionally needed. If you configure the scenes on the actors, then you only need to send a single telegram to trigger the various actions. If you were to configure the scene on the switch or the HS, then all the individual command telegrams will be sent on the bus.
          If you were to frequently 'teach' a scene, then in my opinion the HS would be the best place, as the HS already knows the status and does not have to query the bus. For instance, I use that approach in our kitchen. Every time you leave the kitchen, the current status of the (6) light groups is stored before the lights go in the low-light scene. If you re-enter within a short period (5 minutes in our case), than that last status is restored. Entry after 5 minutes calls another, standard scene. Given the frequency of storing that 'last know' status I opted for the HS - saves lots of telegrams in EIBMON.

          Bram

          Kommentar


            #6
            Also ich habe Sicherheitsrelevante Funktionen bezüglich des Wetters direkt in die Wetterstation gebracht.
            Ganz einfacher Grund: Geht die Station kaputt und erfasst die 300 Km/h Windgeschwindigkeit nicht, ist es auch egal, ob die Logik noch geht

            Parallel kann man natürlich noch eine zweite Sicherheitsebene definieren nach dem Motto "Wenn nach X Minuten kein Signal von der Station, dann alle Beschattung rein und Fenster zu" oder so.


            Nun zu den Szenen:
            Die sind bei mir auf dem Homeserver. Denn das ist Komfort und das Licht geht dank PM so oder so trotzdem noch. Zur Not habe ich auch noch Tastsensoren.
            Ich habe das wie folgt gemacht - ist vll etwas quick-and-dirty und nicht optimal - freue mich da über feedback!
            Die aktive Szene sollte am Tastsensor dargestellt werden (LED)
            Also habe ich jeder Taste vorgegeben, dass sie einen Zahlenwert auf das KO "Szene Wohnen" schickt.
            Alle 4 Tasten senden also auf das gleiche KO.

            Beispiel:
            - Essen = 1
            - Fernsehen = 2
            - Film = 3
            - Automatik = 4

            Drücke ich "Essen", dann ist der Wert vom KO "Szene Wohnen" so lange 1, bis eine andere Taste gedrückt wird.

            Im Logikeditor wird das KO ausgewertet und die Szene im Homeserver gestartet.
            "Szene Wohnen = 1" -> Szene Essen
            "Szene Wohnen = 2" -> Szene Fernsehen
            "Szene Wohnen = 3" -> Szene Film
            "Szene Wohnen = 4" -> Szene Automatik

            In der Szenenbearbeitung vom Experten habe ich dann die einzelnen Funktionen programmiert.
            Dazu gehört auch, dass da die LEDs von den Tasten des Testsensors angesteuert werden - als Feedback, welche Szene aktiv ist.

            Funktioniert soweit wirklich ganz gut!
            Szenennebenstellen wären mir lieber gewesen. Aber ich meine, dann ging das mit den LEDs des Testsensors nicht, dass die dauerhaft darstellen, welche Szene aktiv ist.

            Kommentar


              #7
              Vielen Dank für das viele Feedback. Ich denke ich werde es genau so halten.
              Ich trenne kritisch/Grundfunktion von Komfort.

              Kommentar


                #8
                Zitat von maeckes Beitrag anzeigen
                Im Logikeditor wird das KO ausgewertet und die Szene im Homeserver gestartet.
                "Szene Wohnen = 1" -> Szene Essen
                "Szene Wohnen = 2" -> Szene Fernsehen
                "Szene Wohnen = 3" -> Szene Film
                "Szene Wohnen = 4" -> Szene Automatik
                Mich würde interessieren, wie das im Detail realisiert wurde. Ich habe in den letzten Tagen verzweifelt versucht das mit den 10-fach Vergleicher hinzubekommen. Das Verhalten war aber alles andere als logisch... Ich habe auch gelesen, dass sich der Logikbaustein nicht so verhalten soll wie man das annimmt (anscheinend bleiben die Zustände an den Ausgängen erhalten auch wenn die Eingangsbedingung nicht mehr gültig ist).

                Würde mich freuen wenn jemand erklären könnte wie ich im Logikeditor Dezimalwerte auswerte und dann abhängig von der Nummer einen anderen Befehl, hier Szene, ausführe.

                Kommentar


                  #9
                  Zitat von ConnectedHome Beitrag anzeigen
                  ...anscheinend bleiben die Zustände an den Ausgängen erhalten auch wenn die Eingangsbedingung nicht mehr gültig ist...
                  See attachment for an example. Keep in mind that the relevant output sends a "1" only when a new telegram arrives at the input E1. The comparator module directs the input signal (as a "1") to one of the outputs if there is a match.
                  Say, a new telegram arrives at E1 that matches the value of E2 (which is defined as CV1). Output A1 (also defined as CV1) then sends a "1". The other outputs do nothing.
                  Typically, this module is used to initiate commands, such as 'do scene #1'. Commands are executed only once when the telegram arrives, so it does not matter that the state never changes afterwards if a new telegram arrives at E1 and matches another comparison value (E2 through E11, or matches nothing).

                  Bram
                  temp.jpg
                  Zuletzt geändert von bramlangen; 20.01.2017, 23:27. Grund: Added a few clarifications.

                  Kommentar


                    #10
                    Thank you Bram for your detailed explanation.
                    However this doesn't work for me. I am using an communication object (KO) with data type 17.001 "Scene number". This ist 8bit like 5.001 "Percent (0..100%). If I connect this KO to the StringToFloat converter that you suggest the Expert Tool complains that the converter expects a different format at its input. If I connect it directly to the comparator then a value of 2 is interpreted as 1...

                    Kommentar


                      #11
                      Zitat von ConnectedHome Beitrag anzeigen
                      If I connect it directly to the comparator then a value of 2 is interpreted as 1...
                      Das ist richtig so, der Wert auf dem Bus ist jeweils 1 kleiner als die Szenennummer. Szene 1 ist Wert 0, Szene 2 ist Wert 1 usw,

                      Kommentar


                        #12
                        Andreas, the scene number already is a number, not a text. So, you can skip the StringToFloat converter. Tie it directly to the comparator. As Volker already commented, scenes on the bus start with zero, whereas 'our' scenes start with 1. Check the group monitor or EIBMON to see what happens exactly.

                        Kommentar


                          #13
                          I know that the the scene number on the bus is one number smaller than the real scene. I was referring to the HEX value on the bus. So 0x02 is sent and the comparator matches to "1". Also other values do not match at all, e.g. "3" or "4" don't match any compare value between 1 and 8.

                          Is there a possibility to debug what exactly the logic is doing, e.g. record the input values?

                          Kommentar


                            #14
                            You may want to include a screenshot of your logic.
                            If currently the KO tied to the E1 input of the comparator module does not have a GA or internal KO, then assign an internal KO to it. You can then monitor in EIBMON what value goes into the module.
                            If you entered the number '4' in one of the 'compare' inputs, and you send the integer '4' on E1, then the associated output will send a '1'. There must be an exact match.
                            Zuletzt geändert von bramlangen; 21.01.2017, 20:06. Grund: Spelling error

                            Kommentar


                              #15
                              Attached you will find my logic and a screenshot from the group monitor of ETS.
                              If I select scene 1, which is sent as 0x00 nothing happens which ist correct.
                              If I select scene 2, which is sent as 0x01 nothing happens which is wrong. It should trigger the output 1 and send a 1 to group address 5/0/10.
                              If I select scene 4, which is sent as 0x03 it triggers correctly the output 3 which sends a 3 to group address 5/0/10.

                              So why does scene 2 not work???

                              Kommentar

                              Lädt...
                              X