private void HandleKnxEvent(object sender, KnxEventArgs e) { var statusProp = this.Properties[0]; if (e.Address == this.TemperatureAddr) { var value = DataPointTranslator.Instance.FromASDU("9.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], value); } else if (e.Address == this.RainAddr) { var value = DataPointTranslator.Instance.FromASDU("1.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[1], value); } else if (e.Address == this.WindAddr) { var value = DataPointTranslator.Instance.FromASDU("9.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[2], value); } else if (e.Address == this.DawnAddr) { var value = DataPointTranslator.Instance.FromASDU("9.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[3], value); } }
private void HandleKnxEvent(object sender, KnxEventArgs e) { var statusProp = this.Properties[0]; if (e.Address == this.OpModeStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("20.102", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], value); } else if (e.Address == this.TargetTemperatureStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("9.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[1], value); } else if (e.Address == this.TemperatureAddr) { var value = DataPointTranslator.Instance.FromASDU("9.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[2], value); } else if (e.Address == this.HumidityAddr) { var value = DataPointTranslator.Instance.FromASDU("9.007", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[3], Convert.ToInt32(value)); } else if (e.Address == this.CO2Addr) { var value = DataPointTranslator.Instance.FromASDU("9.008", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[4], Convert.ToInt32(value)); } }
private void Event(object sender, KnxEventArgs args) { // Console.WriteLine("Received feedback from " + address + " with value " + (int) state[0]); if (LightOnOffAddress.Equals(args.DestinationAddress.ToString()) && args.State != null && args.State.Length == 1 && args.State[0] == 1) { ResetEvent.Set(); } }
private void HandleKnxEvent(object sender, KnxEventArgs e) { var statusProp = this.Properties[0]; if (e.Address == this.SwitchStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("1.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], value); } }
private static void Event(object sender, KnxEventArgs args) { if (!(args.DestinationAddress is KnxGroupAddress address)) { return; } var state = args.State; if (address.Equals("1/2/1") || address.Equals("1/2/2")) { Console.WriteLine("New Event: device " + address + " has status (" + state + ") --> " + _connection.FromDataPoint("9.001", state)); } else if ( address.Equals("1/2/3") || address.Equals("1/2/4") || address.Equals("1/2/5") || address.Equals("1/2/5") || address.Equals("1/2/6") || address.Equals("1/2/7") || address.Equals("1/2/8") || address.Equals("1/2/9") || address.Equals("1/2/10") || address.Equals("1/2/11") || address.Equals("1/2/12") || address.Equals("1/2/13") || address.Equals("1/2/14") || address.Equals("1/2/15") || address.Equals("1/2/16") || address.Equals("1/2/17") || address.Equals("1/2/18")) { var data = string.Empty; if (state.Length == 1) { data = state[0].ToString(); } else { var bytes = new byte[state.Length]; for (var i = 0; i < state.Length; i++) { bytes[i] = Convert.ToByte(state[i]); } data = state.Aggregate(data, (current, t) => current + t.ToString()); } Console.WriteLine("New Event: device " + address + " has status (" + state + ") --> " + data); } }
internal void Event(KnxEventArgs args) { try { KnxEventDelegate?.Invoke(this, args); } catch (Exception e) { Logger.Error(ClassName, e); } Logger.Debug(ClassName, $"Device {args.SourceAddress} sent event {args.StateHex} to {args.DestinationAddress}"); }
private void HandleKnxEvent(object sender, KnxEventArgs e) { var statusProp = this.Properties[0]; if (e.Address == this.PresenceStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("1.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], value); Task.Run(async() => { await Task.Delay(5000); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], false); }); } }
private void HandleKnxEvent(object sender, KnxEventArgs e) { var statusProp = this.Properties[0]; if (e.Address == this.PositionStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("5.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[0], Convert.ToInt32(value)); } else if (e.Address == this.FlapsStatusAddr) { var value = DataPointTranslator.Instance.FromASDU("5.001", e.Data); this.UpdatePropertyValue(statusProp, statusProp.Attributes[1], Convert.ToInt32(value)); } }