Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikbaustein BusAnalyzer

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

    HS/FS Logikbaustein BusAnalyzer

    ich habs jetzt doch nochmal angefasst, bräuchte aber mal ein bisschen Hilfe.

    01 2b 00 00 00 bc 11 98 2c 2a 81 00 81

    Welcher Teil des Telegramms ist das ?

    folgende Funktionen hab ich jetzt

    getgrpaddr=lambda x: (ord(x[3])>> 3 &0xf ,ord(x[3]) & 0x7,ord(x[4]))
    getsrcaddr=lambda x: (ord(x[1])& 0x0f,ord(x[1]) >>4,ord(x[2]))
    getctrl1=lambda x: (ord(x[0])>>7 & 1,ord(x[0])>>6 & 1,ord(x[0])>>5 & 1,ord(x[0])>>4 & 1,ord(x[0])>>2 & 3,ord(x[0])>>1 & 1,ord(x[0]) & 1)
    getctrl2=lambda x: (ord(x[5])>>7 & 1,ord(x[5])>>4 & 7,ord(x[5]) & 7)


    control Field 1
    Bit

    7 Frame Type - 0x0 for extended frame
    0x1 for standard frame

    6 Reserved


    5 Repeat Flag - 0x0 repeat frame on medium in case of an error
    0x1 do not repeat

    4 System Broadcast - 0x0 system broadcast
    0x1 broadcast

    3 Priority - 0x0 system
    0x1 normal
    0x2 urgent
    2 0x3 low


    1 Acknowledge Request - 0x0 no ACK requested
    (L_Data.req) 0x1 ACK requested

    0 Confirm - 0x0 no error
    (L_Data.con) - 0x1 error



    control Field 2

    Bit

    7 Destination Address Type - 0x0 individual address
    - 0x1 group address

    6-4 Hop Count (0-7)

    3-0 Extended Frame Format - 0x0 standard frame

    um programmieren auf dem Bus zu erkennen, muss ich da ControlField2 Bit 7==0 auswerten ?

    Repeated ist klar.
    Wie müsste ein ACK aussehen, kann ich das vom HS überhaupt senden ?

    Sonst würde ich beim Eintreffen eines Telegramms, mit im HS vorhandener Gruppenadresse, ein ACK senden.


    Ziel ist es das nachher Repeated als auch Programmieren per SystemLog zu melden.
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    #2
    Hallo Nils,

    ja, CF2 Bit 7 schaltet um zwischen GA und Geräteadresse, insofern eine gute Erkennmöglichkeit. Was mir noch aufgefallen ist: Beim Geräteparametrisieren wird von der ETS das 2Bit-Typfeld in den Nutzdaten, das normalerweise:
    -0 Leserequest
    -1 Antwort
    -2 Schreiben
    enthält auf den Wert 3 gesetzt.

    mfg
    2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

    Kommentar


      #3
      ich bin gerade auf ein merkwürdiges Phänomen gestoßen.

      Busmonitor wiregate
      Code:
      LPDU: BC 11 0C 07 71 E3 00 40 07 80 0C :L_Data low from 1.1.12 to 0/7/113 hops: 06 T_DATA_XXX_REQ A_GroupValue_Response 07 80
      LPDU: B8 11 31 07 74 E3 00 40 05 14 A6 :L_Data normal from 1.1.49 to 0/7/116 hops: 06 T_DATA_XXX_REQ A_GroupValue_Response 05 14
      LPDU: [COLOR="red"]B8[/COLOR] 11 04 07 76 [COLOR="Red"]D1[/COLOR] 00 00 F2 :L_Data normal from 1.1.4 to 0/7/118hops: 05 T_DATA_XXX_REQ A_GroupValue_Read
      LPDU: CC :ACK
      und im HS
      Code:
      bc 11 0c 07 71 83 00 40 07 80 from 1.1.12 to 0/7/113
      [COLOR="red"]84[/COLOR] 11 04 07 76 [COLOR="Red"]81[/COLOR] 00 00 from 1.1.4 to 0/7/118
      b4 11 31 07 74 83 00 40 05 14 from 1.1.49 to 0/7/116
      warum macht der HS das ??

      Das mit 84 ist ein ausgenulltes ControlField1 und das 81 ist der hopcount aus ControlFiled2 auf 0.
      Nils

      aktuelle Bausteine:
      BusAufsicht - ServiceCheck - Pushover - HS-Insight

      Kommentar


        #4
        Hallo Nils,

        wie haengt denn Dein HS am Bus, empfangen beide die exakt selben Daten? Beim Control-Feld wird das Ding halt ploetzlich als Repeated angezeigt, die Prio ist scheints ein HS-Bug: Auch seine ausgesandten Pakete sind immer Prio HIGH!

        Der Routing-Counter scheint bei allen Paketen im HS null zu sein!

        mfg
        2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

        Kommentar


          #5
          Der hs geht über das wg auf den Bus. Sollte also eigentlich das gleiche drin sein

          Ich konnte im hs noch eine Etage hoher ansetzten, aber ich will ja nicht den hs neu programmieren
          Nils

          aktuelle Bausteine:
          BusAufsicht - ServiceCheck - Pushover - HS-Insight

          Kommentar


            #6
            Zitat von NilsS Beitrag anzeigen
            Der hs geht über das wg auf den Bus. Sollte also eigentlich das gleiche drin sein
            Also HS <-IP/Routing-> Wiregate <-?-> EIB/TP mit ?=USB, UART oder so was?

            An welcher Stelle loggt denn der EIBD im Wiregate, vor Sendung auf den Bus oder beim Empfang des Routing-cEMI's?

            Zitat von NilsS Beitrag anzeigen
            Ich konnte im hs noch eine Etage hoher ansetzten, aber ich will ja nicht den hs neu programmieren
            Du scheinst aber nicht soweit davon entfernt zu sein
            2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

            Kommentar


              #7
              Zitat von swenga Beitrag anzeigen
              Also HS Wiregate EIB/TP mit ?=USB, UART oder so was?

              An welcher Stelle loggt denn der EIBD im Wiregate, vor Sendung auf den Bus oder beim Empfang des Routing-cEMI's?
              Ja genau wie du geschrieben hast mit tpuart.

              Mit der Stelle hast du natürlich recht.
              Ich logge lokal per vbusmonitot1 ip:127.0.0.1

              Ich werde nachher nochmal einen eibd mit t1023 per ip/routing nehmen

              Ist natürlich doof wenn ich die repeated loggen oder acken will wenn die garnicht ankommen.
              Nils

              aktuelle Bausteine:
              BusAufsicht - ServiceCheck - Pushover - HS-Insight

              Kommentar


                #8
                Meines Wissens ACKt das Wiregate schon.

                Kommentar


                  #9
                  Der Reihe nach
                  - Acken im/aus dem HS kannste IMHO knicken, das waren ganz wenige ms..
                  Das wäre wenn Aufgabe der Schnittstelle, allerdings nur 256 Einträge in der Adress(Filtertabelle) haben kann.. Daher 0 auf Durchzug und kein ACK.. Ein Teufelskreis..
                  Auf IP wird ja nicht geacked, eher Prinzip Hoffnung..
                  - Mit dem "repeat" bin ich bis heute nicht 100% sicher obs nun der HS falsch schickt oder doch der eibd misinterpretiert (das ist ja nicht gleichzusetzen mit dem "repeated" Flag!
                  - Die Prio vom HS ist IMHO Käse mit high, er hält sich halt für wichtiger
                  - Zum programmieren: bin da noch unschlüssig: z.B. ein Property_Read ist ja evtl. noch nix böses, evtl. schlägt man erst bei Progmem_Write ..

                  Und ja: auf TP1-Seite Acked das WireGate mit TP-UART, was es weitergeleitet hat. So wie das ein IP-Router (was es ja nicht ist) das tun sollte

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

                  Kommentar


                    #10
                    Ok, dann acken eben nicht im HS. Kann ich auch mit leben. Mist ist halt, wenn Pakete repeated werden, dass er die dann mehrfach interpretiert! Und das bei der Eventsteuerung....

                    mfg
                    2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

                    Kommentar


                      #11
                      Zitat von NilsS Beitrag anzeigen
                      ich bin gerade auf ein merkwürdiges Phänomen gestoßen.

                      Busmonitor wiregate
                      Code:
                      LPDU: BC 11 0C 07 71 E3 00 40 07 80 0C :L_Data low from 1.1.12 to 0/7/113 hops: 06 T_DATA_XXX_REQ A_GroupValue_Response 07 80
                      LPDU: B8 11 31 07 74 E3 00 40 05 14 A6 :L_Data normal from 1.1.49 to 0/7/116 hops: 06 T_DATA_XXX_REQ A_GroupValue_Response 05 14
                      LPDU: [COLOR="red"]B8[/COLOR] 11 04 07 76 [COLOR="Red"]D1[/COLOR] 00 00 F2 :L_Data normal from 1.1.4 to 0/7/118hops: 05 T_DATA_XXX_REQ A_GroupValue_Read
                      LPDU: CC :ACK
                      und im HS
                      Code:
                      bc 11 0c 07 71 83 00 40 07 80 from 1.1.12 to 0/7/113
                      [COLOR="red"]84[/COLOR] 11 04 07 76 [COLOR="Red"]81[/COLOR] 00 00 from 1.1.4 to 0/7/118
                      b4 11 31 07 74 83 00 40 05 14 from 1.1.49 to 0/7/116
                      warum macht der HS das ??

                      Das mit 84 ist ein ausgenulltes ControlField1 und das 81 ist der hopcount aus ControlFiled2 auf 0.

                      Ok nehm alles zurück behaupte das gegenteil

                      ist die andere Seite vom eibd gewesen.

                      vorher hatte ich lokal auf dem wiregate per vbusmonitor die TP Seite gesehn, während der HS die IP Seite gesehen hat.

                      Hab das jetzt mal verglichen mit nem eibd -i -t10 ip: und die Busseite war wie beim HS.


                      bzgl. des repeated Flags war wohl auch nicht sinnig
                      also müsste bei repeat das Telegramm auf einen wirklichen doppler überprüft werden, was aber wenn im TP geacked wird eher selten auftreten wird.
                      Nils

                      aktuelle Bausteine:
                      BusAufsicht - ServiceCheck - Pushover - HS-Insight

                      Kommentar


                        #12
                        Hallo Nils,

                        so wuerd ichs machen: Im HS muss es einen objektbasierten Datenkatalog fuer alle externen KOs=GA geben. In diesem sollte bei einkommenden Daten einsortiert und ein Zeitstempel hinterlegt werden. Wenn ein Paket reinkommt, wird dieses ausgewertet und der Datenbankplatz des KOs gesucht. Wenn der Wert dort identisch mit dem aktuellen und die Differenz zum Zeitstempel < sagen wir mal 2 Sekunden ist, dann verwerfen, sonst in der Datenbank updaten und Events auslösen.

                        Das ist natuerlich extern schwierig da du wahrscheinlich nur an die Queue kannst, aber nicht dazwischen. Ausserdem bringts nix, einen neuen temporären Speicher für alle KOs aufzubauen. Daher -> goto DACOM.

                        Ist ein hausgemachtes Problem durch die No ACK's. Bei mir haengt der HS in einem Segment und da kommen natuerlich lauter Packerl rein, die in diesem Segment ausser dem HS keinen Ansprechpartner haben....

                        mfg
                        2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

                        Kommentar


                          #13
                          Zitat von swenga Beitrag anzeigen
                          Das ist natuerlich extern schwierig da du wahrscheinlich nur an die Queue kannst, aber nicht dazwischen.
                          Meinst du
                          Geht alles
                          Nils

                          aktuelle Bausteine:
                          BusAufsicht - ServiceCheck - Pushover - HS-Insight

                          Kommentar


                            #14
                            Nils, du bist und bleibst ein verrueckter Hund

                            Schoenen Abend,

                            Swen
                            2 Objekte, 6 Linien + KNX/IP-Bereich, HS 3 SW 2.8, Visu mit 2x 15"-Touch, Softwaregateway KNX/IP für 2x Novelan Wärmepumpe, viele Ideen und wenig Zeit

                            Kommentar

                            Lädt...
                            X