Ankündigung

Einklappen
Keine Ankündigung bisher.

Konsistentes Prozessabbild des HS bei Initialisierung

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

    Konsistentes Prozessabbild des HS bei Initialisierung

    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.
    1. Alle KO (Kommunikationsobjekte) werden auf den Init-Wert (Initialisierungswert) des KO gesetzt.
    2. Die Werte für die remanenten KO werden aus dem Speicher geladen und überschreiben den Init-Wert des KO.
    3. Bei remanenten EIB-KO mit gesetztem Übertragen-Flag im HomeServer wird der Wert auf den EIB gesendet.
    4. Scan der EIB-KO wird gestartet (das betrifft nur die im Experten/Kommunikationsobjekt mit „Beim Starten abfragen“ gekennzeichneten KO).
    5. Gescannte KO werden bei einer Antwort vom EIB auf den zurückgelieferten Wert gesetzt.
    6. Scan des EIB wird beendet, wenn alle abgefragten KO geantwortet haben oder ein Timeout abgelaufen ist.
    Meine Fragen dazu:

    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.

    #2
    A nicht ganz verstanden
    B richtig, nur ikO
    C weiß nicht exakt, glaube 20 Sekunden insgesamt, 5 Anfragen
    D ?

    Inkonistenzen im Prozessabbild sind mir noch nie aufgefallen, Fensterkontakte z.B. Das hääte man gemerkt.

    Remanenz von EIB-KO ist absoluter Sonderfall. Dient eigentlich dazu, im HS EIB-Geräte zu emulieren und sollte nicht aif GA angewendet werden, die real in der Anlage vorhanden sind.
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      Update:

      Der HS wartet beim Scannen 0.7 Sekunden auf eine Antwort.
      Bei fehlender Antwort versucht er es 3 mal (also insgesamt 2.1 Sekunden)
      Gruß Matthias
      EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
      - PN nur für PERSÖNLICHES!

      Kommentar


        #4
        Zitat von MatthiasS Beitrag anzeigen
        A nicht ganz verstanden
        D ?
        Okay, ich versuchs mal: Wenn der HA startet, dann fragt er beispielweise den Status HAUS_STANDBY ab. Angenommen dieser steht auf 0, d.h. Personen sind anwesend. Nun macht der HS weiter mit der Initialisierung und liest die weiteren EIB-GAs ein. Dies kann ggf. je nach Menge und Timeouts länger dauern. Angenommen in dieser verlässt der letzte Bewohner das Haus und schaltet HAUS_STANDBY auf 1. Erst jetzt kommt der HS zur Initialiisierung der Logiken.
        Die Frage war nun, ob der HS weiterhin davon ausgeht, dass HAUS-STANDBY gleich 0 ist und somit möglicherweise ein inkonsistentes Prozessabbild hat, welches entsprechende Auswirkungen bei der Initialisierung der Logiken haben könnte. Z.B. könnten Logiken dafür sorgen, dass die Komfortemperatur entsprechend hochgesetzt wird, obwohl ja niemand mehr im Haus ist.

        Frage D geht in dieselbe Richtung, da die Frage ist, ob der HS z.B. das Telegramm HAUS_STANDBY=1 während der Initialisierungphase mitbekommt und evtl. entsprechend verzögert auswertet oder ob die Buskommunikation während der EIB-KO-Lesephase ignoriert wird?

        Hoffe damit wird's klarer...

        Kommentar


          #5
          Klarer ja, aber beantworten kann das wohl nur Dacom genau.
          Gruß Matthias
          EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
          - PN nur für PERSÖNLICHES!

          Kommentar


            #6
            Ja, ich fänds gut, wenn DACOM dazu was sagen könnte.

            Kommentar


              #7
              Sind informiert. Mal sehen, ob sie Unterstützung bei einer HS-Emulation geben
              Gruß Matthias
              EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
              - PN nur für PERSÖNLICHES!

              Kommentar


                #8
                Der HS lauscht ständig am Bus (auch während der Initialisierung) und bekommt dadurch auch sämtliche Änderungen mit.
                -------------
                Peter Herold
                DaCom GmbH

                Kommentar


                  #9
                  Danke für die Info.

                  So habe ich es mir auch vorgestellt und so habe ich es jetzt auch realisiert. Alle Telegramme, die nicht zum Auslesen der EIB-KOs dienen werden gepuffert und direkt im Anschluss bearbeitet. So wird gewährleistet, dass es keine Inkonsistenz gibt. Vermutlich der einzig sinnvolle Weg.

                  Kommentar


                    #10
                    Zitat von jonofe Beitrag anzeigen
                    1. Scan der EIB-KO wird gestartet (das betrifft nur die im Experten/Kommunikationsobjekt mit „Beim Starten abfragen“ gekennzeichneten KO).
                    Ich nehme den Thread wieder auf, weil ich die Scan-Fehler meines HS3 (2.2.080721) nicht erklären kann.

                    Wenn diese Aussage richtig ist (nicht daß sie mir unlogisch erscheint und ohne den Schreiber dafür verantwortlich machen zu wollen ;-), dann frage ich mich, warum in meiner Debug-Seite Scan-Fehler von KOen gemeldet werden, die gar nicht definiert sind.
                    Screen-Shots anbei.

                    Die einzige Idee, die ich habe, ist folgende: Die KOe wurde früher in anderem Kontext benutzt und im Experten und in der ETS gelöscht. Das bedeutet IMHO aber, daß der Experte sie nicht vollständig gelöscht hat.

                    Gruß Frank
                    Angehängte Dateien

                    Kommentar


                      #11
                      @Rupprecht: Ich tippe eher auf was anderes: man kann im HS durchaus GAs in anderen Ordnern haben, als es Sinn macht. Das macht zwar IMHO garkeinen Sinn das es geht, ist aber so
                      Beispiel anbei..

                      Andre, das sind ja ganz interessante Sachen. Grade eben erst auf den Thread gestossen, nachdem es kürzlich schon angekündigt wurde: ich glaube ich würde den Code dazu auch wahnsinnig gerne sehen

                      Makki
                      Angehängte Dateien
                      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                      -> Bitte KEINE PNs!

                      Kommentar


                        #12
                        Danke Makki, das war's.
                        Sinn macht es in der Tat wirklich nicht.
                        Man kann KOe wie in der ETS an eine andere Stelle verschieben. in der ETS wird die Nummerierung dann angepaßt; der Experte hat aber keine Verknüpfung zwischen Ordnerstruktur und KO. Daher der Fehler.
                        Gruß Frank

                        Kommentar


                          #13
                          Zitat von makki Beitrag anzeigen
                          Andre, das sind ja ganz interessante Sachen. Grade eben erst auf den Thread gestossen, nachdem es kürzlich schon angekündigt wurde: ich glaube ich würde den Code dazu auch wahnsinnig gerne sehen

                          Im Moment könnte ich ihn nur ungefiltert zur Verfügung stellen. Da er nur schlecht dokumentiert ist, weiss ich nicht, ob das hilfreich wäre. Habe im Moment wenig Zeit den Code ist eine Form zu bringen, so dass er allgemein nutzbar ist. Vielleicht komme ich am Wochenende dazu, zumindest den Listener und die Initialisierung in einen akzeptaben Zustand zu bringen.
                          Ansonsten PN und ich schick dir den Code "as is".

                          Grüße
                          André

                          Kommentar

                          Lädt...
                          X