You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
561 B
35 lines
561 B
package measurements
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type SmartTemperature struct {
|
|
Date time.Time `json:"date"`
|
|
Temp int64 `json:"temp"`
|
|
}
|
|
|
|
func (st *SmartTemperature) Flatten() (tags map[string]string, fields map[string]interface{}) {
|
|
fields = map[string]interface{}{
|
|
"temp": st.Temp,
|
|
}
|
|
tags = map[string]string{}
|
|
|
|
return tags, fields
|
|
}
|
|
|
|
func (st *SmartTemperature) Inflate(key string, val interface{}) {
|
|
if val == nil {
|
|
return
|
|
}
|
|
|
|
if key == "temp" {
|
|
switch t := val.(type) {
|
|
case int64:
|
|
st.Temp = t
|
|
case float64:
|
|
st.Temp = int64(t)
|
|
}
|
|
}
|
|
}
|