public async Task Handle(MqttClientConnectedEvent message, IMessageHandlerContext context) { _logger.Info($"ClientConnectedMessage recived. DETAILS:\n{message.ToString()}"); var devices = await this._mqttClientManager.GetDevicesByMqttClientAsync(message.client_id); foreach (var device in devices) { var @event = new DeviceConnectEvent { mqtt_client_id = device.mqtt_client_id, serial_number = device.serial_number, type_text = device.type_text }; await context.Publish(@event); } //await this._mqttClientManager.ChangeDevicesStatusAsync(true, message.client_id); }
public override DeviceEvent ParseDeviceEvent(MqttApplicationMessageReceivedEventArgs eventArgs) { var payload = eventArgs.ApplicationMessage.Payload; if (payload == null || payload.Length == 0) { return(null); } var payloadStr = Encoding.UTF8.GetString(eventArgs.ApplicationMessage.Payload); if (this.IsValidJson(payloadStr)) { DeviceConnectEvent message = JsonConvert.DeserializeObject <DeviceConnectEvent>(payloadStr); if (string.IsNullOrEmpty(message.mqtt_client_id)) { message.mqtt_client_id = eventArgs.ClientId; } return(message); } return(null); }
protected virtual void OnDeviceConnectEvent(string str) { DeviceConnectEvent?.Invoke(str); }
protected virtual void OnDeviceConnectEvent(BleGattDevice dev) { DeviceConnectEvent?.Invoke(dev); }
public virtual void OnDeviceConnectEvent(bool status) { DeviceConnectEvent?.Invoke(status); }