private static void completeLogin(Channel channel, Session session, User user, DashBoard dash, Device device, int msgId) { log.debug("completeLogin. {}", channel); session.addHardChannel(channel); channel.writeAndFlush(ACCEPTED); String responseBody = String.valueOf(dash.id) + DEVICE_SEPARATOR + device.id; session.sendToApps(HARDWARE_CONNECTED, msgId, dash.id, responseBody); log.info("{} mqtt hardware joined.", user.email); }
private void triggerTimer(SessionDao sessionDao, UserKey userKey, String value, int dashId, int[] deviceIds) { Session session = sessionDao.get(userKey); if (session != null) { if (!session.sendMessageToHardware(dashId, HARDWARE, TIMER_MSG_ID, value, deviceIds)) { actuallySendTimers++; } for (int deviceId : deviceIds) { session.sendToApps(HARDWARE, TIMER_MSG_ID, dashId, deviceId, value); } } }
public void sendToApps(short cmd, int msgId, int dashId, int deviceId, String body) { if (isAppConnected()) { String finalBody = prependDashIdAndDeviceId(dashId, deviceId, body); sendToApps(cmd, msgId, dashId, finalBody); } }
private void execute(Session session, Profile profile, DashBoard dash, int deviceId, SetPinAction action, long now) { String body = action.makeHardwareBody(); session.sendMessageToHardware(dash.id, HARDWARE, 888, body, deviceId); session.sendToApps(HARDWARE, 888, dash.id, deviceId, body); profile.update(dash, deviceId, action.dataStream.pin, action.dataStream.pinType, action.value, now); }
private void execute(Session session, Profile profile, DashBoard dash, int deviceId, SetPropertyPinAction action, long now) { String body = action.makeHardwareBody(); session.sendToApps(SET_WIDGET_PROPERTY, 888, dash.id, deviceId, body); Widget widget = dash.updateProperty(deviceId, action.dataStream.pin, action.property, action.value); //this is possible case for device selector if (widget == null) { profile.putPinPropertyStorageValue(dash, deviceId, PinType.VIRTUAL, action.dataStream.pin, action.property, action.value); } dash.updatedAt = now; } }
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); }
session.sendToApps(HARDWARE, message.id, dash.id, deviceId, body); } else { log.trace("No active dashboard.");
session.sendToApps(HARDWARE, msg.variableHeader().packetId(), dashId, deviceId, body); } else { log.debug("No active dashboard.");
session.sendToApps(SET_WIDGET_PROPERTY, message.id, dash.id, deviceId, message.body); ctx.writeAndFlush(ok(message.id), ctx.voidPromise());
session.sendToApps(SET_WIDGET_PROPERTY, 111, dash.id, deviceId, "" + pin + BODY_SEPARATOR + property + BODY_SEPARATOR + value); return ok();
session.sendToApps(HARDWARE, 111, dashId, deviceId, body);
session.sendToApps(HARDWARE, 111, dashId, deviceId, body);