private void OnStateChangeEvent(object sender, EventResultInfo obj) { var stateChanged = obj.DeserializeData <StateChangedEvent>(); if (this.stateChangedSubscriptionsByEntityId.TryGetValue(stateChanged.EntityId, out var eventHandler)) { eventHandler.Invoke(this, stateChanged); } if (this.stateChangedSubscriptionsByDomain.TryGetValue(stateChanged.Domain, out eventHandler)) { eventHandler.Invoke(this, stateChanged); } }
public Task <bool> RaiseStateChangedEventAsync(string entityId) { var data = MockHassModelFactory.StateChangedEventFaker .GenerateWithEntityId(entityId); var eventResult = new EventResultInfo() { EventType = KnownEventTypes.StateChanged.ToEventTypeString(), Origin = "mock_server", TimeFired = DateTimeOffset.Now, Data = new JRaw(HassSerializer.SerializeObject(data)), Context = data.OldState.Context }; var eventResultObject = new JRaw(HassSerializer.SerializeObject(eventResult)); return(this.RaiseEventAsync(KnownEventTypes.StateChanged, eventResultObject)); }
public void Invoke(EventResultInfo eventResultInfo) { this.internalEventHandler?.Invoke(this, eventResultInfo); }