diff --git a/include/zephyr/net/lwm2m.h b/include/zephyr/net/lwm2m.h index c05198978c5..429f7c6e684 100644 --- a/include/zephyr/net/lwm2m.h +++ b/include/zephyr/net/lwm2m.h @@ -1983,6 +1983,7 @@ enum lwm2m_rd_client_event { LWM2M_RD_CLIENT_EVENT_QUEUE_MODE_RX_OFF, LWM2M_RD_CLIENT_EVENT_ENGINE_SUSPENDED, LWM2M_RD_CLIENT_EVENT_NETWORK_ERROR, + LWM2M_RD_CLIENT_EVENT_REG_UPDATE, }; /** diff --git a/samples/net/lwm2m_client/src/lwm2m-client.c b/samples/net/lwm2m_client/src/lwm2m-client.c index b479e1c0f71..5da1dcd8599 100644 --- a/samples/net/lwm2m_client/src/lwm2m-client.c +++ b/samples/net/lwm2m_client/src/lwm2m-client.c @@ -222,6 +222,10 @@ static void rd_client_event(struct lwm2m_ctx *client, LOG_ERR("LwM2M engine reported a network error."); lwm2m_rd_client_stop(client, rd_client_event, true); break; + + case LWM2M_RD_CLIENT_EVENT_REG_UPDATE: + LOG_DBG("Registration update"); + break; } } diff --git a/subsys/net/lib/lwm2m/lwm2m_rd_client.c b/subsys/net/lib/lwm2m/lwm2m_rd_client.c index 58002964f2b..f0cb23d031c 100644 --- a/subsys/net/lib/lwm2m/lwm2m_rd_client.c +++ b/subsys/net/lib/lwm2m/lwm2m_rd_client.c @@ -202,6 +202,8 @@ static void set_sm_state(uint8_t sm_state) client.retries = 0; event = LWM2M_RD_CLIENT_EVENT_NETWORK_ERROR; } + } else if (sm_state == ENGINE_UPDATE_REGISTRATION) { + event = LWM2M_RD_CLIENT_EVENT_REG_UPDATE; } client.engine_state = sm_state;