diff --git a/bin/mbus-serial-scan-secondary.c b/bin/mbus-serial-scan-secondary.c index 61be9af..92dc3d3 100644 --- a/bin/mbus-serial-scan-secondary.c +++ b/bin/mbus-serial-scan-secondary.c @@ -137,7 +137,6 @@ main(int argc, char **argv) } (void) mbus_recv_frame(handle, &reply); - sleep(1); frame->control = MBUS_CONTROL_MASK_SND_NKE | MBUS_CONTROL_MASK_DIR_M2S; frame->address = 0xFF; @@ -150,7 +149,6 @@ main(int argc, char **argv) } (void) mbus_recv_frame(handle, &reply); - sleep(1); mbus_scan_2nd_address_range(handle, 0, addr_mask); diff --git a/mbus/mbus-protocol.c b/mbus/mbus-protocol.c index af5118b..45df1be 100644 --- a/mbus/mbus-protocol.c +++ b/mbus/mbus-protocol.c @@ -788,6 +788,9 @@ mbus_data_product_name(mbus_data_variable_header *header) { switch (header->version) { + case 0x00: + strcpy(buff, ((header->medium == 0x06) ? "Engelmann WaterStar" : "Engelmann SensoStar 2")); + break; case 0x01: strcpy(buff,"Engelmann SensoStar 2C"); break; @@ -809,7 +812,7 @@ mbus_data_product_name(mbus_data_variable_header *header) { switch (header->version) { - case 0x02: + case 0x28: strcpy(buff,"ABB F95 Typ US770"); break; } diff --git a/mbus/mbus-serial.c b/mbus/mbus-serial.c index 71b90c2..7a1aa28 100644 --- a/mbus/mbus-serial.c +++ b/mbus/mbus-serial.c @@ -212,6 +212,11 @@ mbus_serial_send_frame(mbus_serial_handle *handle, mbus_frame *frame) fprintf(stderr, "%s: Failed to write frame to socket (ret = %d: %s)\n", __PRETTY_FUNCTION__, ret, strerror(errno)); return -1; } + + // + // wait until complete frame has been transmitted + // + tcdrain(handle->fd); return 0; }