public HumiditySensor(string id, ISingleValueSensor sensor,
            IHttpRequestController httpApiController, INotificationHandler notificationHandler)
            : base(id, httpApiController, notificationHandler)
        {
            if (sensor == null) throw new ArgumentNullException(nameof(sensor));

            sensor.ValueChanged += (s, e) => UpdateValue(e.NewValue);
        }
Ejemplo n.º 2
0
        private IActuator ParseTemperatureSensor(XElement element)
        {
            ISingleValueSensor sensor = Parser.ParseSingleValueSensor(element.GetMandatorySingleChildElementOrFromContainer("Sensor"));

            return(new TemperatureSensor(
                       new ActuatorId(element.GetMandatoryStringFromAttribute("id")),
                       sensor,
                       Controller.HttpApiController,
                       Controller.Logger));
        }
        public TemperatureSensor(ActuatorId id, ISingleValueSensor sensor, IHttpRequestController api, ILogger logger)
            : base(id, api, logger)
        {
            if (sensor == null)
            {
                throw new ArgumentNullException(nameof(sensor));
            }

            sensor.ValueChanged += (s, e) => SetValueInternal(e.NewValue);

            // TODO: Add delta to settings.
            Settings = new ActuatorSettings(id, logger);
        }
        public static IArea WithTemperatureSensor(this IArea room, Enum id, ISingleValueSensor sensor)
        {
            if (room == null)
            {
                throw new ArgumentNullException(nameof(room));
            }
            if (sensor == null)
            {
                throw new ArgumentNullException(nameof(sensor));
            }

            room.AddActuator(new TemperatureSensor(ActuatorIdFactory.Create(room, id), sensor, room.Controller.HttpApiController, room.Controller.Logger));
            return(room);
        }