internal SensorValue(byte nodeID, byte id, DateTime time, SensorValueType type, float value)
 {
     NodeID = nodeID;
     ID = id;
     Time = time;
     Type = type;
     Value = value;
 }
Example #2
0
        static public string getSensorValueUnit(SensorValueType typ, bool leadingSpace = true)
        {
            string ret = (leadingSpace) ? " " : "";

            switch (typ)
            {
            case SensorValueType.AirPressure: ret = ret + "mb"; break;

            case SensorValueType.Temperature: ret = ret + "°C"; break;

            case SensorValueType.Humidity: ret = ret + "%"; break;

            case SensorValueType.LUX: ret = ret + "lux"; break;

            default: ret = "N/A"; break;
            }
            return(ret);
        }
 public void SetSensorValue(Sensor sensor, SensorValueType valueType, object value)
 {
     if (sensor != null && value != null)
         gatewayProxy.Send(new SensorMessage(sensor.NodeID, sensor.ID, SensorMessageType.Set, false, (byte)valueType, value.ToString()));
 }
Example #4
0
        /// <summary>
        /// Get one of the supported sensor values from a sensor. The triplet protocol, model and id together identifies a sensor.
        /// </summary>
        /// <param name="protocol">The protocol returned by GetSensor</param>
        /// <param name="model">The model returned by GetSensor</param>
        /// <param name="id">The id returned by GetSensor</param>
        /// <param name="type">One of the SensorValueTypes returned by GetSensor</param>
        /// <returns>A reading with a timestamp for when the value was read.</returns>
        public SensorReadingResult GetSensorValue(string protocol, string model, int id, SensorValueType type) 
        {
            using (var valuePointer = new DisposableStringPointer())
            {
                int timestamp = 0;

                var response = NativeMethods.tdSensorValue(protocol, model, id, (int)type, valuePointer.Pointer, 20, ref timestamp);

                return new SensorReadingResult
                {
                    Value = valuePointer.Value,
                    TimeStamp = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(timestamp)
                };
            }
        }
 public void SetSensorValue(Sensor sensor, SensorValueType type, string value)
 {
     SetSensorValue(sensor, (byte)type, value);
 }
 public void SetSensorValue(Sensor sensor, SensorValueType type, float value)
 {
     SetSensorValue(sensor, (byte)type, value);
 }
 public void RequestSensorValue(Sensor sensor, SensorValueType type)
 {
     if (gatewayProxy != null && sensor != null)
         gatewayProxy.Send(new SensorMessage(sensor.NodeNo, sensor.SensorNo, SensorMessageType.Request, false, (byte)type, ""));
 }