{
TRACE_MSG(TRACE_APP1, ">> zboss_signal_handler: param %hd signal %hd status %hd",
{
switch (sig)
{
{
se_app_production_config_t *prod_cfg =
TRACE_MSG(TRACE_APP1, "Loading application production config", (FMT__0));
if (prod_cfg->version == SE_APP_PROD_CFG_CURRENT_VERSION)
{
}
}
break;
zboss_start_continue();
break;
#ifdef ZB_USE_BUTTONS
zb_button_register_handler(BUTTON_LEFT, 0, ihd_dev_left_button_handler);
zb_button_register_handler(BUTTON_RIGHT, 16, ihd_dev_right_button_handler);
#else
ihd_dev_left_button_handler(0);
#endif
break;
zb_se_indicate_commissioning_started();
break;
case ZB_SIGNAL_DEVICE_FIRST_START:
case ZB_SIGNAL_DEVICE_REBOOT:
TRACE_MSG(TRACE_APP1, "Device STARTED OK: first_start %hd",
(FMT__H, sig == ZB_SIGNAL_DEVICE_FIRST_START));
{
TRACE_MSG(TRACE_APP1, "unique TCLK: " TRACE_FORMAT_128, (FMT__B, TRACE_ARG_128(key)));
TRACE_MSG(TRACE_APP1, "NWK key: " TRACE_FORMAT_128, (FMT__B, TRACE_ARG_128(key)));
TRACE_MSG(TRACE_APP1, "TCLK by installcode: " TRACE_FORMAT_128, (FMT__B, TRACE_ARG_128(key)));
}
zb_se_indicate_default_start();
break;
TRACE_MSG(TRACE_APP1, "Key Establishment with Trust Center (CBKE) OK", (FMT__0));
#ifdef DEBUG_EXPOSE_KEYS
{
{
TRACE_MSG(TRACE_APP1, "CBKE OK TCLK key " TRACE_FORMAT_128,
(FMT__B, TRACE_ARG_128(key)));
}
{
TRACE_MSG(TRACE_APP1, "Current NWK key " TRACE_FORMAT_128,
(FMT__B, TRACE_ARG_128(key)));
}
}
#endif
break;
#if defined ZB_USE_BUTTONS
break;
}
#endif
TRACE_MSG(TRACE_APP1, "Start Service Discovery", (FMT__0));
zb_se_indicate_service_discovery_started();
break;
{
TRACE_MSG(TRACE_APP1, "can bind cluster 0x%x commodity_type %d remote_dev " TRACE_FORMAT_64,
{
#ifdef IHD_DEV_SUPPORT_MULTIPLE_COMMODITY
#endif
{
if (i != 0xFF)
{
#ifdef IHD_DEV_SUPPORT_MULTIPLE_COMMODITY
g_dev_ctx.dev.lst[i].u.metering.device_type = bind_params->
commodity_type;
#endif
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_METERING_DISCOVER_ATTRS;
}
param = 0;
}
}
}
{
#ifdef IHD_DEV_SUPPORT_MULTIPLE_COMMODITY
#endif
{
if (i != 0xFF)
{
#ifdef IHD_DEV_SUPPORT_MULTIPLE_COMMODITY
g_dev_ctx.dev.lst[i].u.price.commodity_type = bind_params->
commodity_type;
#endif
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_PRICE_GET_CURRENT_PRICE;
}
param = 0;
}
}
}
{
if (i != 0xFF)
{
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_DRLC_GET_SCHEDULED_EVENTS;
}
param = 0;
}
}
{
if (i != 0xFF)
{
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_MESSAGING_GET_LAST_MESSAGE;
}
param = 0;
}
}
#if IHD_ENABLE_GET_CALENDAR
{
TRACE_MSG(TRACE_APP1, "Send bind request to Calendar Server", (FMT__0));
if (i != 0xFF)
{
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_CALENDAR_GET_CALENDAR;
}
param = 0;
}
}
#endif
{
if (i != 0xFF)
{
TRACE_MSG(TRACE_APP1, "Send bind request to Energy Management cluster", (FMT__0));
if(g_dev_ctx.dev.lst[i].pending_cmd == IHD_DEV_NO_CMD)
{
g_dev_ctx.dev.lst[i].pending_cmd = IHD_DEV_ENERGY_MANAGEMENT_SEND_MANAGE_EVENT;
}
param = 0;
}
}
}
break;
{
TRACE_MSG(TRACE_APP1, "Bind dev 0x%x OK", (FMT__D, *addr));
break;
}
TRACE_MSG(TRACE_APP1, "Service Discovery OK", (FMT__0));
zb_se_indicate_commissioning_stopped();
break;
TRACE_MSG(TRACE_APP1, "Service Discovery failed", (FMT__0));
zb_se_indicate_commissioning_fail(0,
0);
break;
{
TRACE_MSG(TRACE_APP1, "Partner link key established, remote device addr: " TRACE_FORMAT_64,
(FMT__A, TRACE_ARG_64(*remote_device_addr)));
ihd_dev_aps_key_established(*remote_device_addr);
}
break;
default:
break;
}
}
{
TRACE_MSG(TRACE_APP1, "Production config is not present or invalid", (FMT__0));
}
else
{
zb_se_indicate_commissioning_fail(0,
1);
}
SE_APP_AUX_SIGNAL_HANDLER(param);
if (param)
{
}
TRACE_MSG(TRACE_APP1, "<< zboss_signal_handler", (FMT__0));
}