private void completeLogin(Channel channel, Session session, User user,
DashBoard dash, Device device, int msgId) {
log.debug("completeLogin. {}", channel);
session.addHardChannel(channel);
channel.write(ok(msgId));
String body = dash.buildPMMessage(device.id);
if (dash.isActive && body != null) {
channel.write(makeASCIIStringMessage(HARDWARE, HARDWARE_PIN_MODE_MSG_ID, body));
}
channel.flush();
String responseBody = String.valueOf(dash.id) + DEVICE_SEPARATOR + device.id;
session.sendToApps(HARDWARE_CONNECTED, msgId, dash.id, responseBody);
log.trace("Connected device id {}, dash id {}", device.id, dash.id);
device.connected();
if (device.firstConnectTime == 0) {
device.firstConnectTime = device.connectTime;
}
if (allowStoreIp) {
device.lastLoggedIP = IPUtils.getIp(channel.remoteAddress());
}
log.info("{} hardware joined.", user.email);
}