EnOcean TCM120 - Init Information abfragen

Erstmal Vielen Dank für die bisherige Hilfe.

Empfange der EnOcean Telegramme klappt sehr gut.

Habe noch eine Frage zu EnOcean TCM120 senden.

Beim Befehl INF_INIT [A5][5A][8B][89][00][00][00][00][00][00][00][00][Chk]
(ruft Informationen über TCM120 ab)

sollten 15 Telegramme kommen

0xA5 0x5A 0x8B 0x89 „“
0xA5 0x5A 0x8B 0x89 „EnOcean“
0xA5 0x5A 0x8B 0x89 „TCM120“
0xA5 0x5A 0x8B 0x89 „Version“
…usw

Ich bekomme zwar Antworten jedoch nur hat das keine Ähnlichkeit mit den Beschrieben (in CHAR).
Hat jemand eine Ahnung an was es liegt?

Quellcode


#include <NewSoftSerial.h>

//**** VARIABLEN
byte bTcmTx=0;
int ledPin=13;
int packet[14];
int j;

//**** NewSoft Parameter
const int rxPin=2, txPin=3 ;
NewSoftSerial mySerial(rxPin, txPin);


/** 
* Setup konfiguriert Digitalport, Ports, ect
*/
void setup()  
{
  //**** Led Test  
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);
  delay(150);
  digitalWrite(ledPin,LOW);

  //**** Datenrate Terminal
  Serial.begin(9600);
  Serial.println("Telegramme TCM120");

  //**** Datenrate fuer SoftUART Tx/Rx Schnittstelle - absenden Transmit Command Telegram an TCM120
  mySerial.begin(9600);

  //**** INR_INIT holt Informationen ueber TCM120
  send_packet(0x8B,0x89,0,0,0,0,0,0,0,0); 

}


/** 
* Schleife 
* Liest TCM120 Telegramme ueber SoftUART Tx an Terminal aus
*/
void loop()                     // run over and over again
{
  get_packet();  
}


/** 
* Holt Telegramm von TCM120
*/
void get_packet() 
{
  if (mySerial.available()) {
      //**** Zeilenvorschub vor A5
      bTcmTx=(char)mySerial.read();
      if(bTcmTx==165){
        Serial.println("");
        }
      Serial.print(bTcmTx,HEX);
  }
  if (Serial.available()) {
      mySerial.print((char)Serial.read());
  }
}


/** 
* Sendet Telegramm an TCM120
*/
void send_packet(int typ,int cmd,int D3,int D2,int D1,int D0,int D_3,int D_2,int D_1,int D_0) 
{
  mySerial.print(0xA5,BYTE);
  mySerial.print(0x5A,BYTE);
  mySerial.print(typ,BYTE);
  mySerial.print(cmd,BYTE);
  mySerial.print(D3,BYTE);
  mySerial.print(D2,BYTE);
  mySerial.print(D1,BYTE);
  mySerial.print(D0,BYTE);
  mySerial.print(D_3,BYTE);
  mySerial.print(D_2,BYTE);
  mySerial.print(D_1,BYTE);
  mySerial.print(D_0,BYTE);
  mySerial.print(0,BYTE);
  mySerial.print(0xff & (typ+cmd+D3+D2+D1+D0+D_3+D_2+D_1+D_0));
}


Danke im Voraus