Hallo zusammen,
ich bin derzeit dabei meine Logiken in php über den eibd zu realisieren.
Dabei schaut man natürlich wie der HS sowas macht. Die Initialisierung der Logikfunktionen ist ja recht gut erklart.
A) Ich habe dies nun auch so bei mir realisiert und frage mich nun, wie die Konsistenz gewahrleistet wird, da erst danach die Logikinitialisierung beginnt.
Wird also zwischen dem Abfragen der EIB-KOs und der Initialisierung der Logiken ein entsprechendes EIB-KO geandert, dann würde ein inkonsistentes Prozessabbild entstehen? Richtig?
B) Außerdem noch die Frage, ob sich das Setzen des Initwertes in Schritt 1. nur auf die internen KOs bezieht? Für EIB-KOs, die nicht vom Bus gelesen werden, brauch man doch eigentlich kein INIT-Wert, oder?
C) Wie oft versucht der HS ein EIB-KO zu lesen und wie lang ist das zugehörige Timeout je Leseversuch? Ich habe bei mir 3-malige Wiederholung bei je 3 Sekunden Timeout eingestellt, also maximale Startverzögerung von ca. 10 Sekunden je nicht lesbarem EIB-KO. Wie macht der HS das?
D) Ist es richtig, dass der HS alle Telegramme auf dem Bus wahrend der Initialisierungsphase ignoriert? Außer natürlich die Antwort-Telegramme auf die Leseanfragen.
Für ein kurzes Statement zu o.g. Punkten ware ich dankbar.
ich bin derzeit dabei meine Logiken in php über den eibd zu realisieren.
Dabei schaut man natürlich wie der HS sowas macht. Die Initialisierung der Logikfunktionen ist ja recht gut erklart.
- Alle KO (Kommunikationsobjekte) werden auf den Init-Wert (Initialisierungswert) des KO gesetzt.
- Die Werte für die remanenten KO werden aus dem Speicher geladen und überschreiben den Init-Wert des KO.
- Bei remanenten EIB-KO mit gesetztem Übertragen-Flag im HomeServer wird der Wert auf den EIB gesendet.
- Scan der EIB-KO wird gestartet (das betrifft nur die im Experten/Kommunikationsobjekt mit „Beim Starten abfragen“ gekennzeichneten KO).
- Gescannte KO werden bei einer Antwort vom EIB auf den zurückgelieferten Wert gesetzt.
- Scan des EIB wird beendet, wenn alle abgefragten KO geantwortet haben oder ein Timeout abgelaufen ist.
A) Ich habe dies nun auch so bei mir realisiert und frage mich nun, wie die Konsistenz gewahrleistet wird, da erst danach die Logikinitialisierung beginnt.
Wird also zwischen dem Abfragen der EIB-KOs und der Initialisierung der Logiken ein entsprechendes EIB-KO geandert, dann würde ein inkonsistentes Prozessabbild entstehen? Richtig?
B) Außerdem noch die Frage, ob sich das Setzen des Initwertes in Schritt 1. nur auf die internen KOs bezieht? Für EIB-KOs, die nicht vom Bus gelesen werden, brauch man doch eigentlich kein INIT-Wert, oder?
C) Wie oft versucht der HS ein EIB-KO zu lesen und wie lang ist das zugehörige Timeout je Leseversuch? Ich habe bei mir 3-malige Wiederholung bei je 3 Sekunden Timeout eingestellt, also maximale Startverzögerung von ca. 10 Sekunden je nicht lesbarem EIB-KO. Wie macht der HS das?
D) Ist es richtig, dass der HS alle Telegramme auf dem Bus wahrend der Initialisierungsphase ignoriert? Außer natürlich die Antwort-Telegramme auf die Leseanfragen.
Für ein kurzes Statement zu o.g. Punkten ware ich dankbar.
Kommentar