fix(pkg/logfile,sensor): implement pressure as measured value
This commit is contained in:
parent
289aaf2093
commit
043fc395d9
@ -80,6 +80,34 @@ func (cl *csvLogfile) Read() ([]types.MeasuredValue, error) {
|
|||||||
|
|
||||||
measuredValues = append(measuredValues, measuredValue)
|
measuredValues = append(measuredValues, measuredValue)
|
||||||
|
|
||||||
|
case fmt.Sprint(types.MeasuredValueTypePressure):
|
||||||
|
measuredValue := &types.Pressure{
|
||||||
|
PressureID: record[0], // 0
|
||||||
|
// 1 - MeasuredValue
|
||||||
|
PressureValue: value, // 2
|
||||||
|
PressureFromDate: times[0], // 3
|
||||||
|
PressureTillDate: times[1], // 4
|
||||||
|
SensorID: record[5], // 5
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreationDate
|
||||||
|
creationDate, err := time.Parse(timeFormat, record[6])
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%v %v: %v", errorParseTime, record[6], err)
|
||||||
|
}
|
||||||
|
measuredValue.CreationDate = &creationDate
|
||||||
|
|
||||||
|
// UpdateDate
|
||||||
|
if record[7] != "null" {
|
||||||
|
updateDate, err := time.Parse(timeFormat, record[7])
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%v %v: %v", errorParseTime, record[7], err)
|
||||||
|
}
|
||||||
|
measuredValue.UpdateDate = &updateDate
|
||||||
|
}
|
||||||
|
|
||||||
|
measuredValues = append(measuredValues, measuredValue)
|
||||||
|
|
||||||
case fmt.Sprint(types.MeasuredValueTypeTemperature):
|
case fmt.Sprint(types.MeasuredValueTypeTemperature):
|
||||||
measuredValue := &types.Temperature{
|
measuredValue := &types.Temperature{
|
||||||
TemperatureID: record[0], // 0
|
TemperatureID: record[0], // 0
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"math"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -50,10 +51,12 @@ func (s *BME280) Read() ([]types.MeasuredValue, error) {
|
|||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// p, err := sensor.ReadPressurePa(bsbmp.ACCURACY_STANDARD)
|
pressureValue, err := sensor.ReadPressurePa(bsbmp.ACCURACY_STANDARD)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// log.Fatal(err)
|
log.Fatal(err)
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
pressureValueRound := math.Round(float64(pressureValue)/10*0.25) * 10 / 0.25
|
||||||
|
|
||||||
_, humidityValue, err := sensor.ReadHumidityRH(bsbmp.ACCURACY_STANDARD)
|
_, humidityValue, err := sensor.ReadHumidityRH(bsbmp.ACCURACY_STANDARD)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -68,6 +71,13 @@ func (s *BME280) Read() ([]types.MeasuredValue, error) {
|
|||||||
HumidityTillDate: time.Now(),
|
HumidityTillDate: time.Now(),
|
||||||
SensorID: s.SensorID,
|
SensorID: s.SensorID,
|
||||||
},
|
},
|
||||||
|
&types.Pressure{
|
||||||
|
PressureID: uuid.NewV4().String(),
|
||||||
|
PressureValue: pressureValueRound,
|
||||||
|
PressureFromDate: time.Now(),
|
||||||
|
PressureTillDate: time.Now(),
|
||||||
|
SensorID: s.SensorID,
|
||||||
|
},
|
||||||
&types.Temperature{
|
&types.Temperature{
|
||||||
TemperatureID: uuid.NewV4().String(),
|
TemperatureID: uuid.NewV4().String(),
|
||||||
TemperatureValue: float64(temperatureValue),
|
TemperatureValue: float64(temperatureValue),
|
||||||
|
@ -22,10 +22,12 @@ type MeasuredValueType string
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
MeasuredValueTypeHumidity MeasuredValueType = "humidity"
|
MeasuredValueTypeHumidity MeasuredValueType = "humidity"
|
||||||
|
MeasuredValueTypePressure MeasuredValueType = "pressure"
|
||||||
MeasuredValueTypeTemperature MeasuredValueType = "temperature"
|
MeasuredValueTypeTemperature MeasuredValueType = "temperature"
|
||||||
)
|
)
|
||||||
|
|
||||||
var MeasuredValueTypes = []MeasuredValueType{
|
var MeasuredValueTypes = []MeasuredValueType{
|
||||||
MeasuredValueTypeHumidity,
|
MeasuredValueTypeHumidity,
|
||||||
|
MeasuredValueTypePressure,
|
||||||
MeasuredValueTypeTemperature,
|
MeasuredValueTypeTemperature,
|
||||||
}
|
}
|
||||||
|
64
pkg/types/pressure.go
Normal file
64
pkg/types/pressure.go
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Pressure ...
|
||||||
|
type Pressure struct {
|
||||||
|
PressureID string `json:"pressure_id" xml:"pressure_id"`
|
||||||
|
PressureValue float64 `json:"pressure_value,string" xml:"pressure_value,string"`
|
||||||
|
PressureFromDate time.Time `json:"pressure_from_date" xml:"pressure_from_date"`
|
||||||
|
PressureTillDate time.Time `json:"pressure_till_date" xml:"pressure_till_date"`
|
||||||
|
SensorID string `json:"sensor_id" xml:"sensor_id"`
|
||||||
|
CreationDate *time.Time `json:"creation_date" xml:"creation_date"`
|
||||||
|
UpdateDate *time.Time `json:"update_date" xml:"update_date"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetID() string {
|
||||||
|
return t.PressureID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetValue() float64 {
|
||||||
|
return t.PressureValue
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetFromDate() time.Time {
|
||||||
|
return t.PressureFromDate
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetTillDate() time.Time {
|
||||||
|
return t.PressureTillDate
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetSensorID() string {
|
||||||
|
return t.SensorID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetCreationDate() *time.Time {
|
||||||
|
return t.CreationDate
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetUpdateDate() *time.Time {
|
||||||
|
return t.UpdateDate
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) GetMeasuredValueType() MeasuredValueType {
|
||||||
|
return MeasuredValueTypePressure
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) SetValue(value float64) {
|
||||||
|
t.PressureValue = value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) SetTillDate(date time.Time) {
|
||||||
|
t.PressureTillDate = date
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) SetCreationDate(date *time.Time) {
|
||||||
|
t.CreationDate = date
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Pressure) SetUpdateDate(date *time.Time) {
|
||||||
|
t.UpdateDate = date
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user