gibts da schon ein fertiges layout ?
Ankündigung
Einklappen
Keine Ankündigung bisher.
eBus->USB->Plugin->KNX
Einklappen
Dieses Thema ist geschlossen.
X
X
-
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
-
Gast
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.
Code:backup src # ./ebus_send -p msg: 15 b5 09 03 0d 85 58 res: 02 d9 11 msg: q
Code:backup src # ./ebus_send 15 b5 09 03 0d 85 58 02 d9 11
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:
Danke und GrußUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Gast
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
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
-
Gast
Zitat von JuMi2006 Beitrag anzeigenCode:linux:~/ebus/tools# ./ebus_send -s /dev/ttyUSB0 0015B509030D0500 linux:~/ebus/tools# ./ebus_send -p msg: 15 b5 09 03 0d 05 00 msg:
2) //#define DEBUG in ebus.h auf #define DEBUG ändern; make clean; make
Kommentar
-
Gast
Hinweis zur Benutzung von ebus_send
linux:~/ebus/tools# ./ebus_send -s /dev/ttyUSB0 0015B509030D0500
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
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
-
Gast
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.
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
-
Gast
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
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
@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
-
Gast
Antwort bei Master-Master Telegramm
Zitat von kleinklausi Beitrag anzeigenWas macht denn das Testskript? Bzw was ist bei Eurer Vaillant der Slave B5?
Das Skript lest den Energieertrag des Vorjahres von Jänner bis Dezember aus.
Zitat von kleinklausi Beitrag anzeigenAn 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
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 anzeigenB5 ist kein Slave sonder der Primärbefehl und steht für Vaillant.
Zitat von yuhu Beitrag anzeigenDein 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.
Zitat von yuhu Beitrag anzeigenWarum Du ohne Debug nichts siehst liegt daran, das bei einem Master-Master Telegramm noch nichts ausgegeben wird.
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
Kommentar
Kommentar