Ankündigung

Einklappen
Keine Ankündigung bisher.

eBus->USB->Plugin->KNX

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    gibts da schon ein fertiges layout ?

    Kommentar


      Naja, die paar Bauteile hab ich auf ner Lochrasterplatine verlötet. Der Schaltplan ist ja nicht so kompliziert. Die Ethernet-Anbindung habe ich mit einem Lantronix Deviceserver gemacht, der eh hier rumlag - aber das könnte man sehr preiswert auch mit einem Pollin AVR-NetIO samt Ethersex-Firmware erledigen, kostet 20 Euro und man kann sich beim eBus-Interface auch noch den MAX232 sparen.

      Marcus

      Kommentar


        ebus_send

        Wie angekündigt steht nun ebus_send im tools Verzeichnis.

        Zum bauen einfach make ausführen.
        (Es werden ebus_send und check gebaut.)

        Optionen:

        Code:
        ./ebus_send -h
        
        Usage: ebus_send [OPTION] <ZZ PB SB NN DBx>
        
          <ZZ PB SB NN DBx>  spaces within message be removed.
        
          -a --address  set bus address. (ff)
          -p --prompt   stay on input prompt.
          -r --retry    max retry getting bus. (3)
          -s --serial   use a specified serial device. (/dev/ttyUSB0)
          -t --type     message type. (3)
                         1 = Broadcast, 2 = Master-Master, 3 = Master-Slave
          -w --wait     wait time for QQ compare. (~4100 usec)
          -h --help     print this message.
        -p ist für die interaktive Eingabe

        Code:
        backup src # ./ebus_send -p
        msg: 15 b5 09 03 0d 85 58
        res: 02 d9 11
        msg: q
        Ohne -p wird sofort die Nachricht abgesetzt und das Programm beendet.

        Code:
        backup src # ./ebus_send 15 b5 09 03 0d 85 58
         02 d9 11
        Bitte Danke testen.

        Hinweis: Falls jemand nicht ständig -a 00 bzw. -s /dev/ttyIrgendwas mit angeben will,
        einfach in ebus.h die Werte für EBUS_QQ bzw. SERIAL_DEVICE eintragen und make neu ausführen.

        lg roland

        Kommentar


          Gerade gezogen und getestet, ich bekomme aber leider keine Rückmeldung.

          Code:
          linux:~/ebus/tools# ./ebus_send -s /dev/ttyUSB0 0015B509030D0500
          linux:~/ebus/tools# ./ebus_send -p
          msg: 15 b5 09 03 0d 05 00
          msg:
          Woran könnte es liegen ? Hab da schon ein paar Varianten durch. serial_write kann nach wie vor zugreifen.

          Danke und Gruß
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            Hier was zum testen

            Code:
            #!/bin/bash
            
            es='./ebus_send'
            cmd='15 b5 09 03 0d 85'
            
            for i in 00 08 10 18 20 28 30 38 40 48 50 58
            do
                $es $cmd $i
            done
            Die Ausgabe dazu

            Code:
            ./test.sh 
             02 00 00
             02 00 00
             02 00 00
             02 31 00
             02 e1 00
             02 84 04
             02 ec 03
             02 a7 03
             02 f1 08
             02 5b 0d
             02 d9 11

            Kommentar


              Zitat von JuMi2006 Beitrag anzeigen
              Code:
              linux:~/ebus/tools# ./ebus_send -s /dev/ttyUSB0 0015B509030D0500
              linux:~/ebus/tools# ./ebus_send -p
              msg: 15 b5 09 03 0d 05 00
              msg:
              Woran könnte es liegen ? Hab da schon ein paar Varianten durch. serial_write kann nach wie vor zugreifen.
              1) test mal mit -a 00

              2) //#define DEBUG in ebus.h auf #define DEBUG ändern; make clean; make

              Kommentar


                EDIT: So...alten beitrag hier gelöscht

                make clean; make

                hat geholfen

                EDIT2: Wenn ich das Debug wieder auskommentiere mag er nicht mehr.

                Grüße
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  Hinweis zur Benutzung von ebus_send

                  linux:~/ebus/tools# ./ebus_send -s /dev/ttyUSB0 0015B509030D0500
                  ./ebus_send [Optionen] ZZ PB SB NN DBx

                  Falls für QQ was anderes als 0xFF gewünscht ist muss das mit -a angegeben werden. (zB -a 00)

                  Die Leerzeichen zwischen ebus bytes werden automatisch entfernt

                  ./ebus_send 15 b5 09 03 0d 85 58

                  ist gleichwertig mit

                  ./ebus_send 15b509030d8558

                  ---

                  Falls im Headerfile was geändert wird -> immer make clean; make

                  Kommentar


                    So...hier mal die Debug-Ausgabe von 3 Telegrammen die kurz nacheinander durch ein Perl Script aufgerufen werden.

                    Code:
                    2013-01-12 10:07:16.440,test_write_serial,qq: 00
                    skip: 0 found: 1
                    write: 0.000024
                    wait : 0.004167 
                    got bus
                    <<<  08 b5 09 03 0d 06 00
                    get_ack: tmplen: 3 tmp [0]: 08 - buf [0]: 08
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 06 - buf [5]: 06
                    get_ack: tmplen: 4 tmp [3]: 00 - buf [6]: 00
                    get_ack: tmplen: 4 tmp [0]: c2 - buf [7]: c2
                    get_ack: tmplen: 4 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: ff - msg [0]: ff esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    
                    2013-01-12 10:07:17.095,test_write_serial,qq: 00
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 1
                    write: 0.000026
                    wait : 0.004170 
                    got bus
                    <<<  15 b5 09 03 0d 05 00
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 05 - buf [5]: 05
                    get_ack: tmplen: 4 tmp [3]: 00 - buf [6]: 00
                    get_ack: tmplen: 3 tmp [0]: ea - buf [7]: ea
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: b0 - msg [0]: b0 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    
                    2013-01-12 10:07:17.223,test_write_serial,qq: 00
                    skip: 0 found: 1
                    write: 0.000024
                    wait : 0.004170 
                    got bus
                    <<<  15 b5 09 03 0d 02 00
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 02 - buf [5]: 02
                    get_ack: tmplen: 4 tmp [3]: 00 - buf [6]: 00
                    get_ack: tmplen: 3 tmp [0]: 1d - buf [7]: 1d
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 4 tmp [0]: c8 - msg [0]: c8 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    ./test.sh sagt folgendes
                    Code:
                    ~/ebus/tools# ./test.sh
                    skip: 0 found: 1
                    write: 0.000023
                    wait : 0.004189 
                    got bus
                    <<<  15 b5 09 03 0d 85 00
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 00 - buf [6]: 00
                    get_ack: tmplen: 3 tmp [0]: d8 - buf [7]: d8
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: cc - msg [0]: cc esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000027
                    wait : 0.004199 
                    got bus
                    <<<  15 b5 09 03 0d 85 08
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 08 - buf [6]: 08
                    get_ack: tmplen: 3 tmp [0]: d0 - buf [7]: d0
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 86 - msg [0]: 86 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000023
                    wait : 0.004187 
                    got bus
                    <<<  15 b5 09 03 0d 85 10
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 10 - buf [6]: 10
                    get_ack: tmplen: 3 tmp [0]: c8 - buf [7]: c8
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 68 - msg [0]: 68 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000026
                    wait : 0.008745 
                    got bus
                    <<<  15 b5 09 03 0d 85 18
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 18 - buf [6]: 18
                    get_ack: tmplen: 3 tmp [0]: c0 - buf [7]: c0
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 09 - msg [0]: 09 esc: 0
                    recv_data: tmplen: 3 tmp [1]: 05 - msg [1]: 05 esc: 0
                    recv_data: tmplen: 3 tmp [2]: ab - msg [2]: ab esc: 0
                    recv_data: tmplen: 1 tmp [0]: aa - msg [3]: aa esc: 0
                    recv_data: tmplen: 3 tmp [0]: aa - msg [4]: aa esc: 0
                    recv_data: tmplen: 3 tmp [1]: 10 - msg [5]: 10 esc: 0
                    recv_data: tmplen: 3 tmp [2]: 08 - msg [6]: 08 esc: 0
                    recv_data: tmplen: 4 tmp [0]: b5 - msg [7]: b5 esc: 0
                    recv_data: tmplen: 4 tmp [1]: 10 - msg [8]: 10 esc: 0
                    recv_data: tmplen: 4 tmp [2]: 09 - msg [9]: 09 esc: 0
                    recv_data: tmplen: 4 tmp [3]: 00 - msg [10]: 00 esc: 0
                    re0: 15 b5 09 03 0d 85 18
                    po1: 09 05 ab aa aa 10 08 b5 10 09 00
                    crc_calc: 46 crc_recv: 00
                    po2: 09 05 ab aa aa 10 08 b5 10 09
                    get_ack: tmplen: 4 tmp [0]: 02 - buf [0]: 00
                    j: 0 buflen: 0 tmp[0]: 02
                    ret: -4
                    skip: 0 found: 1
                    write: 0.000030
                    wait : 0.004187 
                    got bus
                    <<<  15 b5 09 03 0d 85 20
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 20 - buf [6]: 20
                    get_ack: tmplen: 1 tmp [0]: f8 - buf [7]: f8
                    get_ack: tmplen: 1 tmp [0]: aa - buf [8]: 00
                    j: 8 buflen: 8 tmp[0]: aa
                    ret: -3
                    skip: 0 found: 1
                    write: 0.000030
                    wait : 0.004188 
                    got bus
                    <<<  15 b5 09 03 0d 85 28
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 28 - buf [6]: 28
                    get_ack: tmplen: 3 tmp [0]: f0 - buf [7]: f0
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 64 - msg [0]: 64 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000024
                    wait : 0.004186 
                    got bus
                    <<<  15 b5 09 03 0d 85 30
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 30 - buf [6]: 30
                    get_ack: tmplen: 3 tmp [0]: e8 - buf [7]: e8
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 8e - msg [0]: 8e esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000027
                    wait : 0.004322 
                    got bus
                    <<<  15 b5 09 03 0d 85 38
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 38 - buf [6]: 38
                    get_ack: tmplen: 3 tmp [0]: e0 - buf [7]: e0
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: af - msg [0]: af esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000028
                    wait : 0.004322 
                    got bus
                    <<<  15 b5 09 03 0d 85 40
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 40 - buf [6]: 40
                    get_ack: tmplen: 3 tmp [0]: 98 - buf [7]: 98
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 85 - msg [0]: 85 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000029
                    wait : 0.004321 
                    got bus
                    <<<  15 b5 09 03 0d 85 48
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 48 - buf [6]: 48
                    get_ack: tmplen: 3 tmp [0]: 90 - buf [7]: 90
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: ac - msg [0]: ac esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    skip: 0 found: 1
                    write: 0.000030
                    wait : 0.004186 
                    got bus
                    <<<  15 b5 09 03 0d 85 50
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 50 - buf [6]: 50
                    get_ack: tmplen: 4 tmp [0]: 88 - buf [7]: 88
                    get_ack: tmplen: 4 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 2 tmp [0]: 07 - msg [0]: 07 esc: 0
                    recv_data: tmplen: 2 tmp [1]: af - msg [1]: af esc: 0
                    recv_data: tmplen: 1 tmp [0]: aa - msg [2]: aa esc: 0
                    recv_data: tmplen: 1 tmp [0]: aa - msg [3]: aa esc: 0
                    recv_data: tmplen: 1 tmp [0]: aa - msg [4]: aa esc: 0
                    recv_data: tmplen: 2 tmp [0]: aa - msg [5]: aa esc: 0
                    recv_data: tmplen: 2 tmp [1]: 10 - msg [6]: 10 esc: 0
                    recv_data: tmplen: 3 tmp [0]: 08 - msg [7]: 08 esc: 0
                    recv_data: tmplen: 3 tmp [1]: b5 - msg [8]: b5 esc: 0
                    re0: 15 b5 09 03 0d 85 50
                    po1: 07 af aa aa aa aa 10 08 b5
                    crc_calc: 04 crc_recv: b5
                    po2: 07 af aa aa aa aa 10 08
                    get_ack: tmplen: 4 tmp [0]: 04 - buf [0]: 00
                    j: 0 buflen: 0 tmp[0]: 04
                    ret: -4
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 99
                    skip: 0 found: 1
                    write: 0.000030
                    wait : 0.004196 
                    got bus
                    <<<  15 b5 09 03 0d 85 58
                    get_ack: tmplen: 3 tmp [0]: 15 - buf [0]: 15
                    get_ack: tmplen: 3 tmp [1]: b5 - buf [1]: b5
                    get_ack: tmplen: 3 tmp [2]: 09 - buf [2]: 09
                    get_ack: tmplen: 4 tmp [0]: 03 - buf [3]: 03
                    get_ack: tmplen: 4 tmp [1]: 0d - buf [4]: 0d
                    get_ack: tmplen: 4 tmp [2]: 85 - buf [5]: 85
                    get_ack: tmplen: 4 tmp [3]: 58 - buf [6]: 58
                    get_ack: tmplen: 3 tmp [0]: 80 - buf [7]: 80
                    get_ack: tmplen: 3 tmp [1]: 00 - buf [8]: 00
                    j: 8 buflen: 8 tmp[1]: 00
                    ret: 0
                    recv_data: tmplen: 3 tmp [0]: 93 - msg [0]: 93 esc: 0
                    msg: 00 msglen: 1 msg[1]: 00 0
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar


                      Zitat von JuMi2006
                      Hardware ist eher was schwaches -> Alix1D mit ner Geode lx800 500Mhz CPU

                      Hier sollte eigentlich nichts weiter auf den Bus zugreifen aber ich check das nochmal.
                      Ok, das erklärt das verhalten.

                      Die gute Nachricht: Ich kann das bei mir nachstellen wenn ich newtio.c_cc[VMIN] von 1 auf 3 setze (normal auf 1 = reagiert sobald 1 byte im buffer ist)

                      Die schlechte Nachricht: Ich muss mit den Empfangsteil noch mal gut überlegen. Wie ich sowas berücksichtige.

                      Kommentar


                        fix

                        Mit dem Commit (1319) funktionierts nun auch mit Mirkos Hardware.

                        "FIX: ebus_get_ack returns now leftover from input data"

                        Code:
                        # ./test.sh 
                         02 cc 0e
                         02 86 09
                         02 68 06
                         02 09 05
                         02 16 02
                         02 64 01
                         02 8e 00
                         02 af 00
                         02 85 01
                         02 ac 04
                         02 de 07
                         02 93 09

                        Kommentar


                          Hallo,

                          Was macht denn das Testskript? Bzw was ist bei Eurer Vaillant der Slave B5?

                          Ich komme mit dem Senden leider immer noch nicht auf einen grünen Zweig. Ohne Debug kommt einfach gar nichts zurück. Mit Debug bekomme ich so was:

                          08 ist die Slaveadresse vom Feuerungsautomat 03. 030400 sollte den Anlaufzähler lesen.
                          Code:
                          ./ebus_send -s /dev/ttyUSBHeizung 08030400
                          [ebus_wait_syn]         skip: 0 found: 1
                          [ebus_get_bus]         write: 0.000022
                          [ebus_get_bus]         wait : 0.004252 
                          [ebus_send_data]     got bus
                          [ebus_send_data]     <<<  08 03 04 00
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 08 - buf [0]: 08
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 03 - buf [1]: 03
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 04 - buf [2]: 04
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [3]: 00
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 09 - buf [4]: 09
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [5]: 00
                          [ebus_get_ack]         j: 5 buflen: 5 tmp[0]: 00
                          [ebus_send_data]     ret: 0
                          [ebus_recv_data]     tmplen: 1 tmp [0]: f1 - msg [0]: f1 esc: 0
                          [ebus_recv_data]     msg: 00 msglen: 1 msg[1]: 00 0
                          [ebus_send_data]     ret: -3
                          An sich ist das nach Doku ein Master-Master Telegramm. Also hab ich versucht:
                          Code:
                          ./ebus_send -s /dev/ttyUSBHeizung -t 2 08030400
                          [ebus_wait_syn]         skip: 0 found: 1
                          [ebus_get_bus]         write: 0.000023
                          [ebus_get_bus]         wait : 0.004255 
                          [ebus_send_data]     got bus
                          [ebus_send_data]     <<<  08 03 04 00
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 08 - buf [0]: 08
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 03 - buf [1]: 03
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 04 - buf [2]: 04
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [3]: 00
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 09 - buf [4]: 09
                          [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [5]: 00
                          [ebus_get_ack]         j: 5 buflen: 5 tmp[0]: 00
                          [ebus_send_data]     ret: 0
                          Könnt ihr mir sagen, was ich falsch mache?

                          @Jumi: Ich erinnere mich dunkel, dass Du ganz am Anfang mit Deinem Interface nicht senden konntest und es eingeschickt hast. Kann es daran lliegen?

                          Danke Euch und Gruß,
                          Moritz

                          Kommentar


                            Antwort bei Master-Master Telegramm

                            Zitat von kleinklausi Beitrag anzeigen
                            Was macht denn das Testskript? Bzw was ist bei Eurer Vaillant der Slave B5?
                            B5 ist kein Slave sonder der Primärbefehl und steht für Vaillant.
                            Das Skript lest den Energieertrag des Vorjahres von Jänner bis Dezember aus.
                            Zitat von kleinklausi Beitrag anzeigen
                            An sich ist das nach Doku ein Master-Master Telegramm. Also hab ich versucht:
                            Code:
                            ./ebus_send -s /dev/ttyUSBHeizung -t 2 08030400
                            [ebus_wait_syn]         skip: 0 found: 1
                            [ebus_get_bus]         write: 0.000023
                            [ebus_get_bus]         wait : 0.004255 
                            [ebus_send_data]     got bus
                            [ebus_send_data]     <<<  08 03 04 00
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 08 - buf [0]: 08
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 03 - buf [1]: 03
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 04 - buf [2]: 04
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [3]: 00
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 09 - buf [4]: 09
                            [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [5]: 00
                            [ebus_get_ack]         j: 5 buflen: 5 tmp[0]: 00
                            [ebus_send_data]     ret: 0
                            Könnt ihr mir sagen, was ich falsch mache?
                            Dein zweiter Versuch war schon richtig und es sieht für mich auch gut aus. -> [ebus_send_data] ret: 0 <- Du hast ein positives ACK vom Master bekommen.

                            Warum Du ohne Debug nichts siehst liegt daran, das bei einem Master-Master Telegramm noch nichts ausgegeben wird.

                            Von der Sende Funktion kommt folgendes zurück.

                            /*
                            * return value
                            * -1 error
                            * 0 ACK
                            * 1 NAK
                            */

                            Was soll bei einem Master-Master Telegramm nun ausgegeben werden?

                            EDIT: Ich habs mal umgebaut, das diese Werte zurückkommen.

                            Kommentar


                              Zitat von yuhu Beitrag anzeigen
                              B5 ist kein Slave sonder der Primärbefehl und steht für Vaillant.
                              ähm, ja, hatte ich wieder verdrängt das QQ ja nicht angegeben wird.

                              Zitat von yuhu Beitrag anzeigen
                              Dein zweiter Versuch war schon richtig und es sieht für mich auch gut aus. -> [ebus_send_data] ret: 0 <- Du hast ein positives ACK vom Master bekommen.
                              ok, verstanden.

                              Zitat von yuhu Beitrag anzeigen
                              Warum Du ohne Debug nichts siehst liegt daran, das bei einem Master-Master Telegramm noch nichts ausgegeben wird.
                              Auch verstanden. Ich sollte dann auf dem Bus also eigentlich im Daemon das entsprechende Master Telegramm sehen, oder?

                              Gruß Moritz

                              Kommentar


                                Hi,

                                wenn ich den ebusd laufen lasse, während ich was sende (das geht ja schon, oder?) bekomme ich folgendes. Bei den ersten drei Versuchen (unten nur der letzte) bekomme ich ein ret: -3. Der letzte Versuch hat dann geklappt - ret: 0. Aber leider habe ich im ebusd log kein passendes Telegramm.

                                Code:
                                root@wiregate248:/home/user/src/ebusd/tools# ./ebus_send -s /dev/ttyUSBHeizung -t 2 08030400
                                [ebus_wait_syn]         skip: 0 found: 1
                                [ebus_get_bus]         write: 0.000022
                                [ebus_get_bus]         wait : 0.004253 
                                [ebus_get_bus]         retry: 1
                                [ebus_wait_syn]         skip: 1 found: 1
                                [ebus_get_bus]         write: 0.000019
                                [ebus_get_bus]         wait : 0.004236 
                                [ebus_get_bus]         retry: 2
                                [ebus_wait_syn]         skip: 1 found: 1
                                [ebus_get_bus]         write: 0.000019
                                [ebus_get_bus]         wait : 0.004253 
                                [ebus_get_bus]         retry: 3
                                [ebus_send_data]     got bus
                                [ebus_send_data]     <<<  08 03 04 00
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 08 - buf [0]: 08
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 03 - buf [1]: 03
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 04 - buf [2]: 04
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [3]: 00
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 09 - buf [4]: 09
                                [ebus_get_ack]         tmplen: 1 tmp [0]: aa - buf [5]: 00
                                [ebus_get_ack]         j: 5 buflen: 5 tmp[0]: aa
                                [ebus_send_data]     ret: -3
                                root@wiregate248:/home/user/src/ebusd/tools# ./ebus_send -s /dev/ttyUSBHeizung -t 2 08030400
                                [ebus_wait_syn]         skip: 0 found: 1
                                [ebus_get_bus]         write: 0.000022
                                [ebus_get_bus]         wait : 0.004255 
                                [ebus_get_bus]         retry: 1
                                [ebus_wait_syn]         skip: 1 found: 1
                                [ebus_get_bus]         write: 0.000028
                                [ebus_get_bus]         wait : 0.004291 
                                [ebus_send_data]     got bus
                                [ebus_send_data]     <<<  08 03 04 00
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 08 - buf [0]: 08
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 03 - buf [1]: 03
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 04 - buf [2]: 04
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [3]: 00
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 09 - buf [4]: 09
                                [ebus_get_ack]         tmplen: 1 tmp [0]: 00 - buf [5]: 00
                                [ebus_get_ack]         j: 5 buflen: 5 tmp[0]: 00
                                [ebus_send_data]     ret: 0
                                 0
                                Gruß

                                Kommentar

                                Lädt...
                                X