internal SensorValue(byte nodeID, byte id, DateTime time, SensorValueType type, float value) { NodeID = nodeID; ID = id; Time = time; Type = type; Value = value; }
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())); }
/// <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, "")); }