Ankündigung
Einklappen
Keine Ankündigung bisher.
Langzeitandimmen "WakeUP-Light"
Einklappen
X
-
Du hast recht, ist nicht eindeutig genug.
Ein TS startet links die Szene Fernsehen und rechts die Szene Kino, welche ganz rechts ausgelöst wird.
Diese funktioniert auch einwandfrei.
Es geht hier um das langsame Herunterdimmen der Lampen wie im Kino.
Einen Kommentar schreiben:
-
Ich glaub du hast da eine Schleife gebaut. Den Befehl kann man hier leider nicht einsehen.
Szene triggert gleiche(?) Szene?
Einen Kommentar schreiben:
-
Hallo zusammen,
viele Versuche habe ich unternommen, doch es will einfach nicht klappen.
Ich habe den Langzeitdimmer von ozett (#27) in meinen HS 3 in der letzten Version 4.5.0.160627 "eingebaut".
Mein Gira Dimmer 103200 startet wie gewünscht bei 25 % und fährt auch schön langsam und gleichmäßig runter auf 0 %, aber danach geht das Licht nochmal dreimal an und wieder aus. Egal, ob mit Ende erreicht oder nicht.
Liegt es an meinem Dimmer oder wie kann ich es erreichen, dass bei 0 % auch das Licht ausgeschaltet bleibt?
Langzeitdimmer.png
Vielen Dank schon mal im Voraus für eure Hilfe.
Gruß
CarstenAngehängte Dateien
Einen Kommentar schreiben:
-
Die Fehlermeldung stimmt nicht mit deiner Fehlermeldung überein.
Da fehlt ein < -Zeichen - sicher das der Code stimmt?
Hast du das ZIP-Genommen?
Gruß
Thorsten
Einen Kommentar schreiben:
-
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??
Einen Kommentar schreiben:
-
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 .... ;-)
Einen Kommentar schreiben:
-
Der war gutZitat von ozett Beitrag anzeigenklar,
der baustein sieht irgendwie auch "in die jahre gekommen" aus, aber wer tut das nicht? ;-)
- so lange ist das schon her? Ich werde wirklich alt
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:


Einen Kommentar schreiben: