diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 9520499fc..2cc94fd22 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -1767,6 +1767,11 @@ const char * EMSdevice::telegram_type_name(std::shared_ptr teleg bool EMSdevice::handle_telegram(std::shared_ptr telegram) { for (auto & tf : telegram_functions_) { if (tf.telegram_type_id_ == telegram->type_id) { + // for telegram desitnation only read telegram + if (telegram->dest == device_id_ && telegram->message_length > 0) { + tf.process_function_(telegram); + return true; + } // if the data block is empty and we have not received data before, assume that this telegram // is not recognized by the bus master. So remove it from the automatic fetch list if (telegram->message_length == 0 && telegram->offset == 0 && !tf.received_) { diff --git a/src/emsesp.cpp b/src/emsesp.cpp index 314a94599..67a591d11 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -939,6 +939,8 @@ bool EMSESP::process_telegram(std::shared_ptr telegram) { emsdevice->add_handlers_ignored(telegram->type_id); } break; + } else if (emsdevice->is_device_id(telegram->dest)) { + emsdevice->handle_telegram(telegram); } }