Ankündigung

Einklappen
Keine Ankündigung bisher.

Langzeitandimmen "WakeUP-Light"

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

    #16
    hast du es mal mit diesem baustein (aus diesem thread) probiert?

    Kommentar


      #17
      hi,
      noch nicht. im baustein ist die zeitvorgabe mit minuten angezeigt. also dachte ich: mindestes 1 min. wie könnte ich da 10 sec. eintragen?

      gruss,+
      ozett

      Kommentar


        #18
        Hi
        So 0,17 Minuten entsprechen etwa 10 Sekunden.
        Keine Garantie für nix - aber ein Versuch ist es Wert.
        Gruß
        T.

        Kommentar


          #19
          ganz herzlichen dank für den tip.
          es ist wirklich einen versuch wert. werde gleich mal sehen wies geht. hätte es schon alles gern weiter im HS. stelle dann das ergebnis ein...

          (nebenbei: linknx dimmt schön soft rauf und runter. und wie ich so runterdimme auf 0 stosse ich auf einen bug, der einen endless-loop produziert. alles braucht so seine beschäftigung bis zum guten ende...)

          danke und gruss,
          ozett

          Kommentar


            #20
            im downloadbereich steht:
            "Der Dimmer funktioniert momentan nur im Modus Abdimmen, also Endwert < Startwert. Die Taktfrequenz ist fest eingestellt auf 10 Sekunden."

            der takt ist in dem baustein wohl nicht von dir geändert? auch die zwischenwerte scheinen nicht auf die zeitdauer klein gerrechnet, um mit kleinen teilschritten echt smooth zu dimmen. aufdimmen habe ich jetzt nicht getestet.

            meine fähigkeiten zur änderung (und kenntnisse um solche bausteingrenzen) für den HS sind limitiert, ohne hilfe komme ich selbst so wohl nicht weiter ...

            danke und gruss,
            ozett

            Kommentar


              #21
              Hi
              die Version die ich einsetze dimmt auch von Dunkel nach hell - bei mir jeden Morgen :-)
              Und wenn ich mir den Baustein so anschaue ist der auch SEHR gut dokumentiert.

              ich würde das
              5003|2|4|10 # fix 10 sec. unbenutzt
              auf
              5003|2|4|1 # fix 1 sec. unbenutzt
              ändern
              und außerdem

              # wenn eingeschaltet wird oder Dauer geändert wird -> Schrittweite berechnen und in Speicher und auf A3
              # Schrittweite = (Endwert - Startspeicher) / Dauer * 60 / 10
              5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"float(EN[4]-SN[3])/float(EN[2]*60.0/10.0)"|""|3|0|1|0

              auf

              # wenn eingeschaltet wird oder Dauer geändert wird -> Schrittweite berechnen und in Speicher und auf A3
              # Schrittweite = (Endwert - Startspeicher) / Dauer * 60 / 1
              5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"float(EN[4]-SN[3])/float(EN[2]*60.0/1.0)"|""|3|0|1|0


              Damit müsste der Baustein sekündlich takten.
              Evtl. kannst du mit dem Wert noch spielen - z.B. 0.5 sekunden...
              Nimm bitte die Version die ein paar posts weiter oben von mir hochgeladen wurde...

              Alles ohne Garantie und ohne Gewähr.

              Gruß
              Thorsten

              Kommentar


                #22
                was ist denn damit:

                # Timer neustarten, Basis 10 Sekunden
                5012|0|"(EC[1] and EN[1]) or OC[1]"|""|"10"|0|1|0|0

                (bewege mich hier echt auf duennen eis, in diesem baustein ...)

                gruss,
                ozett

                Kommentar


                  #23
                  blindflug

                  habe jetzt zeit zum testen gefunden.
                  und den timer auf 1 sec gesetzt.
                  damit verschwindet eine kleine anfangsverzögerung. und der verlauf ist gleichmässiger. auf- und abdimmen geht gut.
                  min-werte als 0,5 gehen (=30sec.) auch.

                  Der Baustein von 2009 wird immer mal wieder nachgefragt, könnte fast schon beim HS dabei liegen, oder? ;-)

                  ganz herzlichen dank,
                  ozett

                  Kommentar


                    #24
                    Danke fürs Feedback.
                    Kannst du bitte genau beschreiben was du geändert hast - für "nachfolgende Generationen".
                    Und zum Beilegen: der Baustein kommt ja nicht von Gira... da müssten Sie zumindest Fragen ;-)

                    Gruß
                    Thorsten

                    Kommentar


                      #25
                      hi,
                      nach ich habe nach meinen zweifeln einfach noch den timer aus dem vorhergehenden post von 10sec auf 1sec gesetzt. ich hatte ja (lange ist her) einfach deine ge-bug-fixte version genommen.

                      ansonsten nur ausprobiert, ob der dimmer auch wie von dir vorgeschlagen mit den dezimalwerten als timer-minuten funktioniert. tut er, wie ja schon geschrieben.

                      sieht soweit gut aus. wenn man wollte, dann könnte man diesen dimmer-baustein sicher noch um weitere kleinigkeiten "pimpen". ich würde fast glauben, dass matthias bei seinen innovationen dies seit 2009 bei sich irgendwo schon getan hat ?-) aber mir reicht das im augenblick so, für meinen zweck.

                      und damit zur nächsten baustelle bei der knx-modelleisenbahn.. ok?
                      gruss,
                      ozett

                      Kommentar


                        #26
                        hi,

                        könntest du mal kurz den Baustein posten oder den gesamten Code, würde das auch gerne mal ausprobieren, da ich ein schönes Fading fürs Heimkino bauen wollte. Und dazu wäre das ja wenns geht ideal
                        Gruss Mathias

                        Kommentar


                          #27
                          klar,
                          der baustein sieht irgendwie auch "in die jahre gekommen" aus, aber wer tut das nicht? ;-)

                          ich muss allerdings nochmla sagen, dass ich keinerlei ahnung von baustein-programmierung habe, sondern nur nach allen Hilfen hier zuvor die Werte der Taktung von 10 auf 1 (sec.) geändert habe. in meinen kurzen test hats geklappt. also:


                          Code:
                          ####################################################################################
                          #   (C) 2005, Matthias Schmidt, v1.1                                               #
                          ####################################################################################
                          #   BS : Langzeitdimmer aus/ab                                                     #
                          ####################################################################################
                          #   18.1.05 angelegt                                                               #
                          #   12.1.10 optimiert für alternatives Aufdimmen                                   #
                          #   22.8.12 taktung sek für smoothes dimmen
                          #   25.9.12 timer am ende auch auf 1 sec gesetzt...
                          ####################################################################################
                          
                          #5000|"Text"|Typ(1-4)|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.|.n.
                          #5001|Anzahl Eingänge|Ausgänge|Offset|Speicher|Berechnung bei Start
                          #5002|Index Eingang|Default Wert
                          #5003|Speicher|Initwert|Remanent
                          #5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)
                          #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang
                          
                          5000|"smh@213\Langzeitdimmer1s"|1|5|"Ein/Aus"|"Dauer (min)"|"Istwert"|"Endwert"|"Startwert"|3|"Dimmwert"|"Ende erreicht"|"Ber. SW"
                          
                          5001|5|3|1|4|0
                          
                          # EN[x]
                          5002|1|0                # Ein/Aus
                          5002|2|6                # Dauer
                          5002|3|0                # Istwert
                          5002|4|0                # Endwert
                          5002|5|0                # Startwert
                          
                          # Speicher
                          5003|1|0|0              # Schrittweite berechnet
                          5003|2|4|1             # fix 1 sec. unbenutzt (2012-08-22 TAKT von 10s auf 1s geaendert)
                          5003|3|0|0              # Startwert
                          5003|4|0|0              # Abbild A
                          
                          # Ausgänge
                          5004|1|0|0|2|0            # Ausgang
                          5004|2|0|1|2|0            # Ende erreicht=1
                          5004|3|0|0|2|0            # berechnete Schrittweite
                          
                          # Logik Berechnung SW  
                          
                          # wenn Einschaltung und Startwert = 0 -> Istwert in Startspeicher_SN3 und Abbild SN4
                          5012|0|"(EC[1] and EN[1]==1 and EN[5]==0)"|"EN[3]"|""|0|0|3|0
                          5012|0|"(EC[1] and EN[1]==1 and EN[5]==0)"|"EN[3]"|""|0|0|4|0
                          
                          # wenn Einschaltung und Startwert ungleich 0 -> Startvorgabe in Startspeicher_SN3 und Abbild SN4
                          5012|0|"(EC[1] and EN[1]==1 and EN[5]!=0)"|"EN[5]"|""|0|0|3|0
                          5012|0|"(EC[1] and EN[1]==1 and EN[5]!=0)"|"EN[5]"|""|0|0|4|0
                          
                          # wenn Einschaltung -> fertigmeldung rücksetzen
                          5012|0|"(EC[1] and EN[1]==1)"|"0"|""|2|0|0|0
                          
                          #Berechnungsabbruch wenn AUS
                          5012|1|"EN[1]==0 or AN[2]"|""|""|0|0|0|0
                          
                          # wenn eingeschaltet wird oder Dauer geändert wird -> Schrittweite berechnen und in Speicher und auf A3
                          # Schrittweite = (Endwert - Startspeicher) / Dauer * 60 / 1
                          5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"float(EN[4]-SN[3])/float(EN[2]*60.0/1.0)"|""|3|0|1|0
                          
                          # wenn eingeschaltet wird oder Dauer geändert wird -> Startwert auf Dimmausgang ??? warum nicht Startspeicher
                          5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"EN[5]"|""|1|0|0|0
                          
                          # Timer event, 
                          # - Abbild um Schrittweite erhöhen
                          5012|0|"EN[1] and OC[1]"|"SN[4]+SN[1]"|""|0|0|4|0
                          
                          # - Werte auf Ausgang ausgeben
                          5012|0|"EN[1] and OC[1]"|"int(SN[4])"|""|1|0|0|0
                          
                          
                          # 5012|Ende nach Ausführen|Bedingung|Formel|Zeitformel|Ausgang|Zeitspeicher|Speichervariable|Negierter Ausgang
                          #      Ende nach Ausführen
                          #      |  Bedingung
                          #      |  |                 Formel
                          #      |  |                 |  Zeitformel
                          #      |  |                 |  |  Ausgang
                          #      |  |                 |  |  | Zeitspeicher
                          #      |  |                 |  |  | | Speichervariable
                          #      |  |                 |  |  | | | Negierter Ausgang
                          #      |  |                 |  |  | | | |
                          # 5012|0|"EC[1] and EN[1]"|"1"|""|1|0|0|2
                          
                          # Wenn Ende erreicht abdimmen, Fertigmeldung
                          #wenn SN4=EN4 immer, direkt, Augang2 (Ende Erreicht)=1, Danach beenden
                          5012|1|"int(SN[4])==EN[4]"|"1"|""|2|0|0|0
                          
                          #Wenn Abdimmen (E5 > E4) und ist <= soll (A1 < E4)
                          5012|1|"(EN[5] > EN[4]) and (int(SN[4])<=EN[4])"|"1"|""|2|0|0|0
                          
                          #Wenn Hochdimmen (E5 < E4) und ist => soll (A1 => E4)
                          5012|1|"(EN[5] < EN[4]) and (int(SN[4])=>EN[4]) "|"1"|""|2|0|0|0
                          
                          # Timer neustarten, Basis 10 Sekunden, geaendert auf 1 sec (5te feld von hinten)
                          5012|0|"(EC[1] and EN[1]) or OC[1]"|""|"1"|0|1|0|0
                          Angehängte Dateien

                          Kommentar


                            #28
                            Zitat von ozett Beitrag anzeigen
                            klar,
                            der baustein sieht irgendwie auch "in die jahre gekommen" aus, aber wer tut das nicht? ;-)
                            Der war gut - so lange ist das schon her? Ich werde wirklich alt
                            Gruß Matthias
                            EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
                            - PN nur für PERSÖNLICHES!

                            Kommentar


                              #29
                              ABER:
                              bei all dem feedback zum dimm-baustein: auch damals schon gut, was? (_lobhudelei_modus). Wie wäres es mit nem facelift? ist doch heute gar nicht mehr so schlimm .... ;-) und der stress ist seit 2005 bestimmt weniger geworden , da klappt das sicher .... ;-)

                              Kommentar


                                #30
                                Hallo zusammen!

                                Ich habe den Baustein in betrieb, aber leider bleibt er am Ende des Wertes nicht stehen und überfährt den Endwert.
                                In den Exceptions taucht folgender Fehler auf:
                                [INFORMATION]File "/hs/compile/hs_logik.py", line 179, in addFormel
                                File "case", line 1
                                (EN[5] [ EN[4]) and (int(SN[4])=]EN[4])
                                ^
                                SyntaxError: invalid syntax
                                [5012L, 19856L, 1L, '(EN[5] [ EN[4]) and (int(SN[4])=]EN[4])', '1', '', 2L, 0L, 0L, 0L][/INFORMATION]

                                Den Baustein habe ich hier aus dem Thread übernommen, der Code sieht so aus:

                                [INFORMATION]
                                ################################################## ##################################
                                # (C) 2005, Matthias Schmidt, v1.1 #
                                ################################################## ##################################
                                # BS : Langzeitdimmer aus/ab #
                                ################################################## ##################################
                                # 18.1.05 angelegt #
                                # 12.1.10 optimiert für alternatives Aufdimmen #
                                # 22.8.12 taktung sek für smoothes dimmen #
                                # 25.9.12 timer am ende auch auf 1 sec gesetzt... #
                                ################################################## ##################################

                                #5000|"Text"|Typ(1-4)|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.|.n.
                                #5001|Anzahl Eingänge|Ausgänge|Offset|Speicher|Berechnung bei Start
                                #5002|Index Eingang|Default Wert
                                #5003|Speicher|Initwert|Remanent
                                #5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)
                                #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang

                                5000|"smh@213\Langzeitdimmer"|1|5|"Ein/Aus"|"Dauer (min)"|"Istwert"|"Endwert"|"Startwert"|3|"Dimmwert "|"Ende erreicht"|"Ber. SW"

                                5001|5|3|1|4|0

                                # EN[x]
                                5002|1|0 # Ein/Aus
                                5002|2|6 # Dauer
                                5002|3|0 # Istwert
                                5002|4|0 # Endwert
                                5002|5|0 # Startwert

                                # Speicher
                                5003|1|0|0 # Schrittweite berechnet
                                5003|2|4|1 # fix 1 sec. unbenutzt (2012-08-22 TAKT von 10s auf 1s geaendert)
                                5003|3|0|0 # Startwert
                                5003|4|0|0 # Abbild A

                                # Ausgänge
                                5004|1|0|0|2|0 # Ausgang
                                5004|2|0|1|2|0 # Ende erreicht=1
                                5004|3|0|0|2|0 # berechnete Schrittweite

                                # Logik Berechnung SW

                                # wenn Einschaltung und Startwert = 0 -> Istwert in Startspeicher_SN3 und Abbild SN4
                                5012|0|"(EC[1] and EN[1]==1 and EN[5]==0)"|"EN[3]"|""|0|0|3|0
                                5012|0|"(EC[1] and EN[1]==1 and EN[5]==0)"|"EN[3]"|""|0|0|4|0

                                # wenn Einschaltung und Startwert ungleich 0 -> Startvorgabe in Startspeicher_SN3 und Abbild SN4
                                5012|0|"(EC[1] and EN[1]==1 and EN[5]!=0)"|"EN[5]"|""|0|0|3|0
                                5012|0|"(EC[1] and EN[1]==1 and EN[5]!=0)"|"EN[5]"|""|0|0|4|0

                                # wenn Einschaltung -> fertigmeldung rücksetzen
                                5012|0|"(EC[1] and EN[1]==1)"|"0"|""|2|0|0|0

                                #Berechnungsabbruch wenn AUS
                                5012|1|"EN[1]==0 or AN[2]"|""|""|0|0|0|0

                                # wenn eingeschaltet wird oder Dauer geändert wird -> Schrittweite berechnen und in Speicher und auf A3
                                # Schrittweite = (Endwert - Startspeicher) / Dauer * 60 / 1
                                5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"float(EN[4]-SN[3])/float(EN[2]*60.0/1.0)"|""|3|0|1|0

                                # wenn eingeschaltet wird oder Dauer geändert wird -> Startwert auf Dimmausgang ??? warum nicht Startspeicher
                                5012|0|"(EC[1] and EN[1]) or (EC[2] and EN[2]>0)"|"EN[5]"|""|1|0|0|0

                                # Timer event,
                                # - Abbild um Schrittweite erhöhen
                                5012|0|"EN[1] and OC[1]"|"SN[4]+SN[1]"|""|0|0|4|0

                                # - Werte auf Ausgang ausgeben
                                5012|0|"EN[1] and OC[1]"|"int(SN[4])"|""|1|0|0|0


                                # 5012|Ende nach Ausführen|Bedingung|Formel|Zeitformel|Ausgang|Zeit speicher|Speichervariable|Negierter Ausgang
                                # Ende nach Ausführen
                                # | Bedingung
                                # | | Formel
                                # | | | Zeitformel
                                # | | | | Ausgang
                                # | | | | | Zeitspeicher
                                # | | | | | | Speichervariable
                                # | | | | | | | Negierter Ausgang
                                # | | | | | | | |
                                # 5012|0|"EC[1] and EN[1]"|"1"|""|1|0|0|2

                                # Wenn Ende erreicht abdimmen, Fertigmeldung
                                #wenn SN4=EN4 immer, direkt, Augang2 (Ende Erreicht)=1, Danach beenden
                                5012|1|"int(SN[4])==EN[4]"|"1"|""|2|0|0|0

                                #Wenn Abdimmen (E5 > E4) und ist <= soll (A1 < E4)
                                5012|1|"(EN[5] > EN[4]) and (int(SN[4])<=EN[4])"|"1"|""|2|0|0|0

                                #Wenn Hochdimmen (E5 < E4) und ist => soll (A1 => E4)
                                5012|1|"(EN[5] < EN[4]) and (int(SN[4])=>EN[4])"|"1"|""|2|0|0|0

                                # Timer neustarten, Basis 10 Sekunden, geaendert auf 1 sec (5te feld von hinten)
                                5012|0|"(EC[1] and EN[1]) or OC[1]"|""|"1"|0|1|0|0
                                [/INFORMATION]


                                Ich beschreibe den Baustein mit verschiedenen Werten aus einer Szene, das heisst, es wird ständig hoch und runtergedimmt....
                                Hat jemand eine Idee??
                                Gruss
                                Sven :-)

                                Kommentar

                                Lädt...
                                X