internal async Task InitAsync() { _stateChangedHandler = _messageHub .Handle <ThingStateChangedMessage>() .Where(msg => msg.Id == Id.ToString() && msg.NewState != State) .Synchronize() .Register(async msg => await OnStateChanged(msg)); _messageHub.SendMessage(new ThingStateChangedMessage(Id.ToString(), ThingState.Initializing)); var state = await _gatewayHandler.InitAsync(); _messageHub.SendMessage(new ThingStateChangedMessage(Id.ToString(), state)); }
protected override void AddItem(IGateway item) { base.AddItem(item); Log.Info($"Gateway '{item.Id}' added"); _messageHub.SendMessage(new GatewayAddedMessage(item)); }
protected override void AddItem(IItem item) { base.AddItem(item); Log.Info($"Item '{item.Name}' added"); _messageHub.SendMessage(new ItemAddedMessage(item)); }
protected override void AddItem(IThing item) { base.AddItem(item); Log.Info($"Thing '{item.Id}' added"); _messageHub.SendMessage(new ThingAddedMessage(item)); }
internal async Task InitAsync() { _stateChangedHandler = _messageHub .Handle <ThingStateChangedMessage>() .Where(msg => msg.Id == Id.ToString()) .Synchronize() .Register(async msg => await OnStateChanged(msg)); _channelAddedHandler = _messageHub .Handle <NewThingChannelMessage>() .Where(msg => Id.Equals(msg.ThingId)) .Register(async msg => await OnChannelAdded(msg)); _messageHub.SendMessage(new ThingStateChangedMessage(Id.ToString(), ThingState.Initializing)); var state = await _thingHandler.InitAsync(); _messageHub.SendMessage(new ThingStateChangedMessage(Id.ToString(), state)); }
private Task SetNewStateAsync(KernelState newState) { Log.Info($"Kernel state changed from {State} to {newState}"); State = newState; _messageHub.SendMessage(new KernelStateChangedMessage(newState)); return Task.CompletedTask; }
public override void PaymentContextDidChange(STPPaymentContext paymentContext) { var paymentMethod = paymentContext.SelectedPaymentMethod; var message = paymentMethod == null ? new PaymentMethodChangedMessage() : new PaymentMethodChangedMessage { Label = paymentMethod.Label, Image = paymentMethod.Image?.AsPNG().AsStream() }; _messageHub.SendMessage(message); }
private Task OnChannelHandlerValueChanged(ChannelHandlerValueChangedMessage msg) { if (ValuesAreEqual(Value, msg.NewValue)) { return(Task.CompletedTask); } Log.Info($"Thing Channel '{Id}' value changed from '{Value}' -> '{msg.NewValue}'"); Value = msg.NewValue; _messageHub.SendMessage(new ChannelValueChangedMessage(Id.ToString(), msg.NewValue)); return(Task.CompletedTask); }
private Task UpdateValue(object value) { if (ItemType.ValuesAreEqual(Value, value)) { return(Task.CompletedTask); } var oldValue = Value; Value = value; Log.Info($"Item '{Name}' value changed from '{oldValue}' to '{value}'"); _messageHub.SendMessage(new ItemValueChangedMessage(Name, value, oldValue)); return(Task.CompletedTask); }
public override Task ExecuteAsync(string[] arguments) { var channelId = arguments.FirstOrDefault(); if (string.IsNullOrWhiteSpace(channelId)) { Output.WriteLine("No channel id given"); return(Task.CompletedTask); } var value = arguments.Skip(1).FirstOrDefault(); if (value == null) { Output.WriteLine("No value is given"); return(Task.CompletedTask); } _messageHub.SendMessage(new WriteChannelValueMessage(channelId, value)); return(Task.CompletedTask); }
private Task OnChannelValueChanged(ChannelValueChangedMessage msg) { _messageHub.SendMessage(new ItemValueUpdateMessage(_itemName, msg.NewValue)); return(Task.CompletedTask); }
public Task WriteValueAsync(object value) { _messageHub.SendMessage(new ItemValueUpdateMessage(_itemName, value)); return(Task.CompletedTask); }
public void SendCommand(string itemName, object commandValue) { _messageHub.SendMessage(new SendCommandToItemMessage(itemName, commandValue)); }