Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
 }