Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Baustein 19997_Kalenderwoche
Einklappen
X
-
hmmm datetime im HS ???
also im 4er ja vielleicht aber hat der 2er|3er das?
Einen Kommentar schreiben:
-
So, jetzt gibt er die richtige Woche aus, wie es nächstes, übernächtes Jahr aussieht hab ich nicht getestet.
Hier der aktuelle Code:
Code:################################### ### (C) 2004, Tilo Kühn, v1.0 ################################### ### BS : Kalenderwoche ################################### #5000|"Text"|Remanent(1/0)|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|0=numerisch 1=alphanummerisch #5003|Speicher|Initwert|Remanent #5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)|0=numerisch 1=alphanummerisch #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang 5000|"Tilo\Kalenderwoche"|0|1|"Trigger"|1|"Kalenderwoche"|"Version 2.2" 5001|1|1|0|0|1 5002|1|0|0 # Trigger 5004|1|0|0|2|0 # KalenderWoche # Woche auf AN[1] 5012|0|""|"int(__import__('datetime').date.today().isocalendar()[1])"|""|1|0|0|0
Einen Kommentar schreiben:
-
Bin ich der Einzige, bei dem der Baustein aktuell die falsche Kalenderwoche berechnet ?
Auch ein kurzer Python test ergibt aktuell KW1 statt KW2
Code:import time d = time.localtime() time.strftime("%W",d) Ausgabe: '01'
Einen Kommentar schreiben:
-
Hallo,
besten Dank für Eure Hilfe. Ich habe zum ersten mal einen Baustein umgeschrieben, und es funktioniert!
Der Baustein gibt jetzt wieder die richtige KW aus.
Die Anleitung hat mich auf den richtigen Weg gebracht.
Schöne Grüße,
Niels
Einen Kommentar schreiben:
-
Sorry ich werd alt,
jetzt will er aber, man sollte nicht so viele Sachen auf einmal machen.
Die 5001er Zeile war die kopierte aus Tilo's Original
Einen Kommentar schreiben:
-
so bitte noch mal rauskopieren die doppelten Anführungszeichen waren falsch
Einen Kommentar schreiben:
-
so bitteschön, ich hoffe das das in deinem Sinne ist, Tilo
Code:################################### ### (C) 2004, Tilo Kühn, v1.0 ################################### ### BS : Kalenderwoche ################################### #5000|"Text"|Remanent(1/0)|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|0=numerisch 1=alphanummerisch #5003|Speicher|Initwert|Remanent #5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)|0=numerisch 1=alphanummerisch #5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang 5000|"Tilo\Kalenderwoche"|0|1|"Trigger"|1|"Kalenderwoche" 5001|1|1|0|2|1 5002|1|0|0 # Trigger 5003|1|0|0 # aktuelles Zeitobjekt 5003|2|0|0 # jetzige Woche 5004|1|0|0|2|0 # KalenderWoche #Zeit auf SN[1] 5012|0|""|"__import__('time').localtime()"|""|0|0|1|0 # Woche auf SN[2] 5012|0|""|"int(__import__('time').strftime('%W',SN[1]))"|""|0|0|2|0 # Wenn SN[2] =0 dann nochmal mit datum vom 31.12. des Vorjahres wird dann wohl Woche 52 oder 53 5012|0|"SN[2]==0"|"int(__import__('time').strftime('%W',__import__('time').localtime(__import__('time').mktime(int(SN[1][0])-1,12,31,0,0,0,0,0,0))))"|""|0|0|2|0 # SN[2] auf den Ausgang 1 5012|0|""|"int(SN[2])"|""|1|0|0|0
Einen Kommentar schreiben:
-
Hi,
die Änderungen müssen in der Datei
C:\Programme\Gira\HS+FS\exp232\DE\logic\19997_Kale nderwoche.hsl
vorgenommen werden. Das kann mit einem normalen Editor erfolgen. Innerhalb der Datei sind wohl folgende Änderungen notwendig:
1) ZeiledurchCode:5001|1|1|0|1|1
ersetzen.Code:5001|1|1|0|2|1
2) Nach der Zeile
folgende Zeile einfügen:Code:5003|1|0|1
3) Logik anpassen:Code:5003|2|0|1
Alle Zeilen die mit 5012 beginnen aus der Datei entfernen und folgende Zeilen dafür einfügen:
So hab ich zumindest die von NilsS und Taxus angegebenen Hinweise verstanden.Code:#Zeit auf SN[1] 5012|0|""|"__import__('time').localtime()"|""|0|0|1|0 # Woche auf SN[2] 5012|0|""|"int(__import__('time').strftime("%W",SN[1]))"|""|0|0|2|0 # Wenn SN[2] =0 dann nochmal mit datum vom 31.12. des Vorjahres wird dann wohl Woche 52 oder 53 5012|0|"SN[2]==0"|"int(__import__('time').strftime("%W",__import__('time').localtime(__import__('time').mktime(int(SN[1][0])-1,12,31,0,0,0,0,0,0))))"|""|0|0|2|0 # SN[2] auf den Ausgang 1 5012|0|""|"int(SN[2])"|""|1|0|0|0
Gruss
philipp80
Einen Kommentar schreiben:
-
Hallo Tilo,
ich möchte nur kurz nachfragen, ob es bereits eine neue Version des Kalenderwochen- Bausteins gibt?
Das würde mir sehr helfen, da ich nicht in der Lage bin einen Baustein umzuschreiben.
Schöne Grüße,
Niels
Einen Kommentar schreiben:
-
danke für den hinweis. ich werde mir das in den nächsten tagen gleich mal anschauen und eine korrigierte version hochladen.
ist zum glück nicht so schlimm wie der 2010-ec-karten-bug. das hat mich in den ersten 2 wochen dieses jahres mehr genervt - ist echt toll im ausland im urlaub, wenn keine von 4 geldkarten funktioniert
ciao
tilo
Einen Kommentar schreiben:
-
versuch das mal, wenn der keine Zeit haben sollte, kannst du den Code von mir natürlich einfach in einem eigenen Baustein übernehmenZitat von Taxus Beitrag anzeigenIch schreibe Tilo mal an, ob er seinem Originalbaustein ein Update verpasst.
Einen Kommentar schreiben:
-
Für Nachmacher: NilsSs Code oben ist ganz nah dran
: dort fehlt noch eine (vierte) schließende Klammer, und der Kommentar muss ergänzt werden zu 'wird dann Woche 52 oder 53'
, Zeile 5001 ändern und eine zweite 5003 einfügen, fertig.
Ich schreibe Tilo mal an, ob er seinem Originalbaustein ein Update verpasst.
Einen Kommentar schreiben:
-
Nicht ganz, KW2 wurde jetzt schon am Sonntag gemeldet, nicht erst am Montag.Zitat von philipp80 Beitrag anzeigenWunderbar, danke. Hab den Baustein angepasst und jetzt stimmt die Ausgabe.
mit dieser ersetzt:
GrussCode:5012|0|"1"|"(__import__('time').strptime('1 Jan'+str(int(__import__('time').localtime()[0])),'%d %b %Y')[6]+2)%7"|""|0|0|1|0
philipp80
Einen Kommentar schreiben:


Einen Kommentar schreiben: