Hallo zusammen,
ich habe nach Installation des Patches ebenfalls ein Problem mit initga
Folgender Code fährt abends meine Rolläden herunter:
[highlight=epc]
[InitGA]
//Dämmerung
"Eingang Dämmerung-4/3/0"
[EibPC]
RolladenZentralRunter=AUS
Nachmittag=AUS
if chtime(12,00,00) then Nachmittag=EIN else Nachmittag=AUS endif
if ( "Eingang Dämmerung-4/3/0" < 30.0 and Nachmittag) then RolladenZentralRunter = EIN endif
if RolladenZentralRunter then \\
RolladenRunterFahren(FensterKueche, "Küche Fenster Position-5/1/24", EIN) endif
if (RolladenZentralRunter and after(RolladenZentralRunter,010000u64)) then \\
RolladenRunterFahren(Dummy, "Küche Terasse Position-5/1/29", AUS) endif
[/highlight]
Das funktionierte bisher problemlos und sollte gemäß der neuen Doku mit dem Patch eigentlich auch noch gehen, denke ich.
Im Meldungsfenster ist allerdings zu erkennen, dass der EibPC offensichtlich VOR Abarbeitung der gesamten Initialisierung bereits Befehle auf den Bus schickt. Im Handbuch heißt es hierzu auf Seite 128 zwar "Nachdem für die letzte Gruppenadresse auf diese Weise eine Leseanforderung auf den
Bus gesandt wurde (...), wird mit der Verarbeitung begonnen", allerdings kann ich bei mir ein anderes Verhalten beobachten. Ich kann im Meldungsfenster definitiv Schreibbefehle des EibPC sehen, bevor der erste Lesebefehl ausgegeben wird.
Ich gehe dabei davon aus, dass die GA "Eingang Dämmerung-4/3/0" zu diesem Zeitpunkt (vor der Initialisierung) im 0.0 belegt ist. Daher trifft die Bedingung der if Anweisung in Zeile 10 zu und die Variable RolladenZentralRunter wir mit EIN belegt --> meine Rolläden fahren :-(
Wenn ich der if Anweisung in Zeile 10 übrigens ein "and after(systemstart(),180000u64)" hinzufüge funktioniert alles, denn dann ist die Leseanforderung auf die GA "Eingang Dämmerung-4/3/0" durch [InitGA] erledigt und das Objekt trägt tagsüber den richtigen Wert (>30).
Fällt dazu irgendwem etwas ein?
VG,
Boris.
ich habe nach Installation des Patches ebenfalls ein Problem mit initga
Folgender Code fährt abends meine Rolläden herunter:
[highlight=epc]
[InitGA]
//Dämmerung
"Eingang Dämmerung-4/3/0"
[EibPC]
RolladenZentralRunter=AUS
Nachmittag=AUS
if chtime(12,00,00) then Nachmittag=EIN else Nachmittag=AUS endif
if ( "Eingang Dämmerung-4/3/0" < 30.0 and Nachmittag) then RolladenZentralRunter = EIN endif
if RolladenZentralRunter then \\
RolladenRunterFahren(FensterKueche, "Küche Fenster Position-5/1/24", EIN) endif
if (RolladenZentralRunter and after(RolladenZentralRunter,010000u64)) then \\
RolladenRunterFahren(Dummy, "Küche Terasse Position-5/1/29", AUS) endif
[/highlight]
Das funktionierte bisher problemlos und sollte gemäß der neuen Doku mit dem Patch eigentlich auch noch gehen, denke ich.
Im Meldungsfenster ist allerdings zu erkennen, dass der EibPC offensichtlich VOR Abarbeitung der gesamten Initialisierung bereits Befehle auf den Bus schickt. Im Handbuch heißt es hierzu auf Seite 128 zwar "Nachdem für die letzte Gruppenadresse auf diese Weise eine Leseanforderung auf den
Bus gesandt wurde (...), wird mit der Verarbeitung begonnen", allerdings kann ich bei mir ein anderes Verhalten beobachten. Ich kann im Meldungsfenster definitiv Schreibbefehle des EibPC sehen, bevor der erste Lesebefehl ausgegeben wird.
Ich gehe dabei davon aus, dass die GA "Eingang Dämmerung-4/3/0" zu diesem Zeitpunkt (vor der Initialisierung) im 0.0 belegt ist. Daher trifft die Bedingung der if Anweisung in Zeile 10 zu und die Variable RolladenZentralRunter wir mit EIN belegt --> meine Rolläden fahren :-(
Wenn ich der if Anweisung in Zeile 10 übrigens ein "and after(systemstart(),180000u64)" hinzufüge funktioniert alles, denn dann ist die Leseanforderung auf die GA "Eingang Dämmerung-4/3/0" durch [InitGA] erledigt und das Objekt trägt tagsüber den richtigen Wert (>30).
Fällt dazu irgendwem etwas ein?
VG,
Boris.
Kommentar