private async void MessengerOnMessageReceivedEnumerateNodes(object sender, CbusMessageEventArgs e) { try { switch (e.Message) { case QueryNodesResponseMessage msg: var m = new ReadNodeParameterByIndexMessage { ParameterIndex = 0, NodeNumber = msg.NodeNumber }; await _manager.Messenger.SendMessage(m); break; case ReadNodeParameterByIndexResponseMessage msg: if (msg.ParameterIndex == 0) { for (byte x = 1; x < msg.ParameterValue; x++) { var m2 = new ReadNodeParameterByIndexMessage { ParameterIndex = x, NodeNumber = msg.NodeNumber }; await _manager.Messenger.SendMessage(m2); } } break; } } catch (Exception ex) { } }
private async void CbusMessageSent(object sender, CbusMessageEventArgs args) { await SendMessage(new { Type = "cbus", Message = args.Message, Direction = "sent" }); }